Как найти Python моего IDLE, а затем применить обновление pip к пакету, который он использует? - PullRequest
0 голосов
/ 21 февраля 2019

Меня интересуют два Python 2.7:

Iиспользовать MacOS.(Я понимаю, что пора переходить на Python 3)

Я хотел бы применить pip install --upgrade PackageName к пакету, который использует Python IDLE, но когда я набираю его в своем терминале, он пытается применить его кмоя версия анаконды.

Есть ли способ найти питона моего IDLE, указать на него, а затем применить к нему команду pip?

Вот что у меня есть:

$ which python

/Users/david/anaconda2/bin/python

$ which -a python

/Users/david/anaconda2/bin/python
/Library/Frameworks/Python.framework/Versions/2.7/bin/python
/usr/local/bin/python
/usr/bin/python

обновление: За этот ответ Я открыл IDLE и набрал

import sys
sys.executable

, и он вернул /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python.

Затем я открыл терминал и ввел /Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -m pip install --upgrade skyfield

, и получил следующее:

Cache entry deserialization failed, entry ignored
Could not fetch URL https://pypi.python.org/simple/skyfield/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping
Requirement already up-to-date: skyfield in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Could not fetch URL https://pypi.python.org/simple/jplephem/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping
Requirement already up-to-date: jplephem>=2.3 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (from skyfield)
Could not fetch URL https://pypi.python.org/simple/sgp4/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping
Requirement already up-to-date: sgp4>=1.4 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (from skyfield)
Could not fetch URL https://pypi.python.org/simple/numpy/: There was a problem confirming the ssl certificate: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) - skipping
Requirement already up-to-date: numpy in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages (from skyfield)

Я закрываю IDLE, затем снова открываю его, затем набираю

import skyfield
skyfield.__version__

и все еще только 1.0

Без обновлений.

В настоящее время Skyfield находится на версии 1.10 https://rhodesmill.org/skyfield/installation.html, и сегодня я успешно обновил свою версию анаконды до1.10 с использованием pip install --upgrade skyfield

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

В оболочке IDLE введите import sys; sys.executable, и вы увидите полный путь к питону, выполняющему IDLE.

Чтобы установить этот конкретный исполняемый файл, введите в Терминал path/to/python.exe -m pip install ....

0 голосов
/ 21 февраля 2019

Чтобы найти версию вашего IDLE, откройте IDLE, перейдите в раздел help в строке меню.Нажмите About IDLE, и ваша версия Python будет доступна!

Чтобы убедиться, что ваш пункт соответствует версии, которую вы хотите, все, что вам нужно сделать, это напечатать:

pip -V

Это даствам что-то подобное в Windows (MAC будет похожим):

pip 19.0.2 from c:\python27\lib\site-packages\pip (python 2.7)

В случае неправильного пути просто наберите get-pip.py и запустите его, используя версию Python, которую вы хотите скомпилировать такэто:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

Чтобы использовать пункт, который вы хотите использовать, введите:

/usr/local/bin/pip install foo
...