#python-3.x #sys #pythonpath #sys.path
#python-3.x #система #pythonpath #системный путь
Вопрос:
Я пытаюсь изменить свой путь к python. Я успешно изменил файл .bash_profile, используя PYTHONPATH вместо переменной PATH, но sys.path из терминала не соответствует IDLE. Версия python одинакова в обоих, поэтому я не уверен, почему пути не совпадают. Я попробовал этот код в режиме ОЖИДАНИЯ:
>>> import sys
>>> print("n".join(sys.path))
/Users/samantha.cruz/Documents
/Library/Frameworks/Python.framework/Versions/3.8/lib/python38.zip
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/lib-dynload
/Users/samantha.cruz/Library/Python/3.8/lib/python/site-packages
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages
>>> print(sys.version)
3.8.1 (v3.8.1:1b293b6006, Dec 18 2019, 14:08:53)
[Clang 6.0 (clang-600.0.57)]
>>> sys.executable
'/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8'
>>>
Тот же код имел следующие результаты в терминале:
(base) SamanthaCruz-MBPro:~ samantha.cruz$ python3
Python 3.8.1 (v3.8.1:1b293b6006, Dec 18 2019, 14:08:53)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print("n".join(sys.path))
/Users/samantha.cruz/Documents/tftest/models/models/research
/Library/Frameworks/Python.framework/Versions/3.8/bin
/Applications/CMake.app/Contents/bin
/Library/Frameworks/Python.framework/Versions/2.7/bin
/Library/Frameworks/Python.framework/Versions/3.7/bin
/anaconda3/bin
/Users/samantha.cruz/anaconda3/bin
/Users/samantha.cruz/miniconda3/condabin
/usr/local/opt/gettext/bin
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/share/dotnet
/opt/X11/bin
/Users/samantha.cruz/~/.dotnet/tools
/Library/Apple/usr/bin
/Developer/Panda3D/bin
/Library/Frameworks/Mono.framework/Versions/Current/Commands
/Library/Frameworks/Python.framework/Versions/3.8/lib/python38.zip
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/lib-dynload
/Users/samantha.cruz/Library/Python/3.8/lib/python/site-packages
/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages
>>> print(sys.version)
3.8.1 (v3.8.1:1b293b6006, Dec 18 2019, 14:08:53)
[Clang 6.0 (clang-600.0.57)]
>>> sys.executable
'/Library/Frameworks/Python.framework/Versions/3.8/bin/python3'
>>>
Как мне сделать так, чтобы у них обоих был один и тот же путь? И если это невозможно, как мне изменить sys.path для IDLE глобально (а не только для текущего сеанса)?
Ответ №1:
После загрузки anaconda мой терминал по умолчанию открывался в виртуальной среде. Исправить легко. Просто введите следующую команду в терминал:
conda deactivate
Затем путь будет соответствовать пути с IDLE, и библиотеки могут быть установлены для использования в IDLE.