AWS Cloud9 pip устанавливается в python 2,7 вместо 3,6 - PullRequest
0 голосов
/ 05 февраля 2020

этот вопрос специально для aws cloud9. Все выглядит хорошо prima-fa cie, но это создает много проблем.

Когда я проверяю python версию, она показывает правильную версию (без использования python3)

xxxx@yyyyy.zzz:~/environment $ python --version
Python 3.6.8

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

xxxx@yyyy.zzz:~/environment $ which python
alias python='python36'
        /usr/bin/python36

Когда я проверяю версию пипса, он показывает версию пипса для python 3.6, но показывает очень старую версию пипа.

xxxx@yyyy.zzz:~/environment $ python -m pip --version
pip 9.0.3 from /usr/lib/python3.6/dist-packages (python 3.6)

Когда я пытаюсь обновить pip до новой версии, он переходит к python2 .7 сейчас (нежелательно)

xxx@yyyy.zzz:~/environment $ pip install --upgrade pip
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Defaulting to user installation because normal site-packages is not writeable
Requirement already up-to-date: pip in /usr/local/lib/python2.7/site-packages (20.0.2)

, поэтому, когда я делаю установку в pip нужный пакет, он устанавливается, но не может использовать его в моей программе, поскольку он устанавливает для python 2.7.

Я давно прошел эту проблему на своем локальном windows компьютере и go. Однако это среда по умолчанию для ec2, которая появляется при настройке cloud9 и представляет собой linux ubuntu dist (afaik).

Попытался выяснить в Интернете, но не смог получить простой ответ. Я мог бы найти ответы, касающиеся использования virtualenv для такого рода проблем. Мне интересно, есть ли более простое решение для этого.

Ответы [ 2 ]

2 голосов
/ 06 февраля 2020

Я, наконец, решил это, выполнив вывод "python" с python36. unalias python

Затем, когда я пошел спросить python версию, он дал python 2,7 (как и ожидалось)

, тогда я пошел на sudo python3 -m pip install --upgrade pip

это наконец-то сработал и обновил пип до последней.

тогда я мог бы загружать другие библиотеки, используя python3 -m pip install <library-name>

Спасибо Аруну за вашу обширную помощь.

Это решение может быть обходным, но оно наконец заставило его работать. Если кто-то хочет, чтобы я нашел решение дальше, я готов участвовать.

1 голос
/ 05 февраля 2020

python - псевдоним, указывающий на python36. Похоже, у вас установлены python 2 и python 3.

python -m pip --version возвращает версию пункта, указывающую на python3, потому что python здесь относится к python3. Если вы попробуете python2.7 -m pip --version, он вернет версию пипса, соответствующую python2 .7

. Вы должны проверить pip --version, чтобы увидеть версию пипа.

Вы можете установить свои пакеты, используя pip3 install <package-name> или установить псевдоним для pip, чтобы он указывал на pip3

which pip3

Как только вы получите путь pip3, тогда вы можно создать псевдоним

alias pip=`<path to pip3>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...