Python setup.py: не удалось найти подходящий дистрибутив для Requirement.parse ('tenorflow') - PullRequest
0 голосов
/ 27 января 2020

У меня tensorflow указано в качестве требования в разделе install_requires setup.py моего проекта.

Когда я пытаюсь установить свой проект в новую среду Anaconda, я получаю следующую ошибку :

$ python setup.py install

...

Searching for tensorflow
Reading https://pypi.org/simple/tensorflow/
No local packages or working download links found for tensorflow
error: Could not find suitable distribution for Requirement.parse('tensorflow')

Я могу обойти это, установив тензорный поток "вручную" через conda:

$ conda install tensorflow

После этого установка через setup.py работает без заминки.

Я ошибаюсь, полагая, что с моей средой что-то не так? Если нет, то что происходит и как я могу избежать этой проблемы? (Меня беспокоит то, что пользователи моего пакета не смогут установить из исходного кода, используя setup.py)

Другая странность, которую я предполагаю, связана или может дать подсказку, что версия TensorFlow, указанная в моей Anaconda окружение - 2.0, но если я импортирую его при запуске Python, вместо этого он использует версию 1.15. Например:

$ conda list tensorflow
# packages in environment at /home/james/miniconda3/envs/cvdata_test:
#
# Name                    Version                   Build  Channel
tensorflow                2.0.0           mkl_py37h66b46cc_0  
tensorflow-base           2.0.0           mkl_py37h9204916_0  
tensorflow-estimator      2.0.0              pyh2649769_0  

$ python 
Python 3.7.6 | packaged by conda-forge | (default, Jan  7 2020, 22:33:48) 
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> tf.__version__
'1.15.0-rc2'

Это на ноутбуке Dell под управлением Ubuntu 18.04 без графического процессора, поэтому, возможно, версия, показанная в интерпретаторе, схожа с tensorflow-cpu? Если я запускаю pip freeze, я вижу tensorflow==2.0.0 и tensorflow-cpu==1.15.0rc2, что немного сбивает с толку ...

1 Ответ

0 голосов
/ 29 января 2020

Возможно, это вызвано использованием Python версии 3.8, которая в настоящее время не поддерживается Python. После того, как я создал новую среду Anaconda с Python версии 3.7, эта проблема исчезла.

Единственная оставшаяся проблема - это ошибка, которую я вижу, когда запускаю pip install -e . для моего проекта, который включает tenorflow:

ERROR: tensorflow-cpu 1.15.0rc2 has requirement tensorboard<1.16.0,>=1.15.0, but you'll have tensorboard 2.1.0 which is incompatible.
ERROR: tensorflow-cpu 1.15.0rc2 has requirement tensorflow-estimator==1.15.1, but you'll have tensorflow-estimator 2.1.0 which is incompatible.

Таким образом, проблема tensorflow-cpu версии 1.15.0rc2, фактически устанавливаемой, когда версия 2.1.0 показывает, что она установлена, все еще остается загадкой. Для остроумия:

$ conda list tensorflow
# packages in environment at /home/james/miniconda3/envs/cvd:
#
# Name                    Version                   Build  Channel
tensorflow                2.1.0                    pypi_0    pypi
tensorflow-estimator      2.1.0                    pypi_0    pypi
$ python -c "import tensorflow as tf; print(tf.__version__)"
1.15.0-rc2
...