mirror of
https://github.com/huggingface/transformers.git
synced 2025-07-31 02:02:21 +06:00
Adds package and requirement spec output to version check exception (#18702)
* Adds package and requirement spec output to version check exception It's difficult to understand what package is affected when `got_ver` here comes back None, so output the requirement and the package. The requirement probably contains the package but let's output both for good measure. Non-exhaustive references for this problem aside from my own encounter: * https://stackoverflow.com/questions/70151167/valueerror-got-ver-is-none-when-importing-tensorflow * https://discuss.huggingface.co/t/valueerror-got-ver-is-none/17465 * https://github.com/UKPLab/sentence-transformers/issues/1186 * https://github.com/huggingface/transformers/issues/13356 I speculate that the root of the error comes from a conflict of conda-managed and pip-managed Python packages but I've not yet proven this. * Combines version presence check and streamlines exception message See also: https://github.com/huggingface/transformers/pull/18702#discussion_r953223275 Co-authored-by: Stas Bekman <stas@stason.org>
This commit is contained in:
parent
f3d3863255
commit
0b5c7e4838
@ -41,10 +41,11 @@ ops = {
|
||||
|
||||
|
||||
def _compare_versions(op, got_ver, want_ver, requirement, pkg, hint):
|
||||
if got_ver is None:
|
||||
raise ValueError("got_ver is None")
|
||||
if want_ver is None:
|
||||
raise ValueError("want_ver is None")
|
||||
if got_ver is None or want_ver is None:
|
||||
raise ValueError(
|
||||
f"Unable to compare versions for {requirement}: need={want_ver} found={got_ver}. This is unusual. Consider"
|
||||
f" reinstalling {pkg}."
|
||||
)
|
||||
if not ops[op](version.parse(got_ver), version.parse(want_ver)):
|
||||
raise ImportError(
|
||||
f"{requirement} is required for a normal functioning of this module, but found {pkg}=={got_ver}.{hint}"
|
||||
|
Loading…
Reference in New Issue
Block a user