Как я могу изменить версию установочного модуля, основываясь на выводе pip freeze - PullRequest
0 голосов
/ 29 октября 2019

Короче говоря, был сценарий (написанный на python), который был написан для автоматической установки ряда библиотек python. Я запустил его с

sudo python python_script.py

И получил предупреждение

The directory '/home/dir/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

Однако, когда я проверял каталоги, все они принадлежат мне. И когда я делаю pip freeze, я ничего не вижу после запуска сценария установки. Поэтому я решил установить пакеты вручную по одному.

Когда я делаю pip3 install boto3==0.0.21

Я получаю сообщение об ошибке:

ERROR: botocore 1.0.0b3 has requirement jmespath==0.7.1, but you'll have jmespath 0.9.4 which is incompatible.

когда я делаю стоп-кадр, я получаю

alabaster==0.7.12
Babel==2.7.0
bcdoc==0.16.0
boto3==0.0.21
botocore==1.0.0b3
Django==1.8.2
docutils==0.15.2
futures==2.2.0
Jinja2==2.10.3
jmespath==0.9.4
MarkupSafe==1.1.1
psycopg2==2.7
Pygments==2.4.2
python-dateutil==2.8.0
pytz==2019.3
six==1.12.0
snowballstemmer==2.0.0
Sphinx==1.3.1
sphinx-rtd-theme==0.1.9
sphinxcontrib-httpdomain==1.3.1

Как я могу исправить эту ошибку? Могу ли я изменить jmespath с 0.9.4 на 0.7.1, чтобы исправить установку?

1 Ответ

1 голос
/ 29 октября 2019

Во-первых, я не думаю, что вы должны использовать sudo, если вы не хотите устанавливать под root. Попробуйте python python_script.py.

Во-вторых, сначала попытайтесь удалить неправильную версию, а затем переустановите правильную. Попробуйте

pip uninstall jmespath
pip uninstall jmespath

Удалите дважды!

Тогда

pip install jmespath==0.7.1

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...