Я смущен тем, как PyCharm определяет путь, который использует Python для поиска модулей и пакетов.Почему PyCharm всегда добавляет «корень содержимого» к моему PYTHONPATH и что PYTHONPATH?
Прежде всего, когда я сниму настройки (как в «Консоли Python», так и в моей конфигурации запуска), я по-прежнему вижу каталог для моего проекта в начале sys.path
.
К примеру, у меня есть проект в «проблема пути» и «Run„там файл, содержащий
import sys
for p in sys.path:
print p
Я получаю
/Users/Rax/Documents/Projects/pathproblem
... (other things in my PYTHONPATH)
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC
/Library/Python/2.7/site-packages
даже когда я просил“корень содержание "должны быть исключены из пути:
Это может привести к я n успешный импорт модулей, которые не будут импортированы в типичные развертывания (например, при создании пакета).
Если я проверить настройку я дважды:
/Users/Rax/Documents/Projects/pathproblem
... (other things in my PYTHONPATH)
/Users/Rax/Documents/Projects/pathproblem
...
Кажется, что PyCharm всегда добавляет текущий корень проекта в начале (то, что он считает) в PYTHONPATH и что этот параметр просто добавляет его снова в конце.
(1) Как настроить PyCharm так, чтобы он (действительно) не добавлял каталог проекта в путь поиска пакета?
Кроме того, насколько я могу судить, PYTHONPATH для PyCharm не является моей системой PYTHONPATH вообще, но «добавленные пользователем» записи - по сути, путано, в конце - настройки Path для Python Interpreter.
(2) Откуда берутся ПЯТОНПАТ ПИКХАРМА? Это не PYTHONPATH, который я вижу где-нибудь еще в моей системе.
FWIW, сфинкс уважает PyCharm в «корень» содержимое настроек, добавляя корень содержимого только тогда, когда путь, когда проверяется в конфигурации сборки.
«Как вы можете видеть на изображении выше, PyCharm автоматически добавляет ваш текущий корень». На самом деле, кажется, [пришел из самого Python] (http://stackoverflow.com/a/21203462/656912). И вопрос остается о (2): это только пользователь добавил пути? – orome