Как добавить PYTHONPATH в Windows, чтобы он нашел мои модули / пакеты?


369

У меня есть каталог, в котором размещены все мои приложения Django ( C:\My_Projects). Я хочу добавить этот каталог в мой, PYTHONPATHчтобы я мог вызывать приложения напрямую.

Я попытался добавить C:\My_Projects\;в свою Pathпеременную Windows из Windows GUI ( My Computer > Properties > Advanced System Settings > Environment Variables). Но он все еще не читает модуль coltrane и генерирует эту ошибку:

Ошибка: нет модуля с именем coltrane


для ошибки «модуль не
указан


если вы хотите запустить python в командной строке, на него есть хороший ответ, надеюсь, это поможет stackoverflow.com/a/54618199/8253662
maheshmnj

Ответы:


411

Вы знаете, что действительно хорошо сработало для меня на Windows.

My Computer > Properties > Advanced System Settings > Environment Variables >

Просто добавьте путь как C: \ Python27 (или где вы установили Python)

ИЛИ

Затем в системных переменных я создаю новую переменную с именем PythonPath. В этой переменной у меня естьC:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tk;C:\other-folders-on-the-path

введите описание изображения здесь

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

РЕДАКТИРОВАТЬ: Для тех, кто не может получить его, пожалуйста, добавьте

C: \ python27;

вместе с этим. Иначе это никогда не сработает .


50
Вы, вероятно, хотите добавить C:\Python27в свой путь.
Вэй Ян

5
@SteveKoch Я не уверен - вам нужно будет спросить о поддержке проекта. Я больше не использую Path Editor, так как переключился на гораздо лучший Rapid Environment Editor
Петр Доброгост,

5
Также важно добавить C: \ Python27 \ Scripts в путь, чтобы установленные сценарии можно было запускать из оболочки.
Тайлер Брок

6
Почему бы вы положили C:\Python27\Lib;C:\Python27\DLLs;C:\Python27\Lib\lib-tkв PYTHONPATH? Те уже настроены. Каталоги для скриптов идут в системе PATH. Каталоги для библиотек (которые не установлены site-packagesили для пользователя site-packages) входят PYTHONPATH.
Eryk Sun

11
Мне также пришлось включить% PYTHONPATH% в мою PATH.
восемьx2

124

Windows 7 Professional Я изменил ответ @ mongoose_za, чтобы упростить изменение версии Python:

  1. [Щелкните правой кнопкой мыши] Компьютер> Свойства> Дополнительные параметры системы> Переменные среды
  2. Нажмите [Новый] в разделе «Системная переменная»
  3. Имя переменной: PY_HOME, Значение переменной: C: \ path \ to \ python \ version введите описание изображения здесь
  4. Нажмите [OK]
  5. Найдите системную переменную «Путь» и нажмите [Изменить]
  6. Добавьте следующее к существующей переменной:

    % PY_HOME%;% PY_HOME% \ Lib;% PY_HOME% \ библиотеки DLL,% PY_HOME% \ Lib \ Lib-тк; введите описание изображения здесь

  7. Нажмите [OK], чтобы закрыть все окна.

Для окончательной проверки работоспособности откройте командную строку и введите python. Тебе следует увидеть

>python [whatever version you are using]

Если вам нужно переключаться между версиями, вам нужно только изменить переменную PY_HOME, чтобы она указала на правильный каталог. Это немного проще в управлении, если вам нужно установить несколько версий Python.


4
Попробовал это, и это сработало ... Я бы порекомендовал всем, кто проходит через ту же проблему, чтобы попробовать это.
Кристофер М.

2
Попробовал это, ничего не сделал.
GreySage

Я попробовал принятый ответ выше, и это не сработало, поэтому я бы порекомендовал этот.
mjwrazor

2
@Reihan_amn Я имею в виду каталог обёрток, который содержит lib, bin, libexec и т. Д. Обычно эти каталоги называются Python [VERSION_NUMBER] /, но я также видел python / [VERSION_NUMBER]. Надеюсь, это поможет
Делиция Браммитт

5
Я попробовал это, и это сработало для меня. Мне пришлось сделать одну небольшую настройку, которая должна была щелкнуть New для каждой из этих записей для Windows 10 при добавлении их в переменную PATH. %PY_HOME%;%PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk; Мне также нужно было добавить, %PY_HOME%\Scriptsчтобы у меня был доступ к pip и модулям, которые я устанавливаю с помощью pip, например, pylint
Jose 'Vargas

83

Из командной строки Windows:

set PYTHONPATH=%PYTHONPATH%;C:\My_python_lib

Чтобы установить PYTHONPATH навсегда, добавьте строку к вашему autoexec.bat. Кроме того, если вы редактируете системную переменную через Системные свойства, она также будет изменена навсегда.


1
Работал, но каждый раз, когда я открывал дос, мне приходилось устанавливать путь.
Даррен

7
Я предпочитаю использоватьset path=%PATH%;%PYTHONPATH%;
г-н среда,

5
Дос и редактирование autoexec.bat ..! Мы внезапно вернулись в 90-е?
drexiya

4
Перед этим сделайте echo% PYTHONPATH%, если это даст вам возможность продолжить путь, в противном случае сделайте, например, set PYTHONPATH = .; C: \ My_python_lib Если вы этого не сделаете, Windows развернет % PYTHONPATH% до пустой строки, как и ожидалось, будет сохраните его как% PYTHONPATH% в PYTHONPATH, и все сломается! Звучит безумно, но вот как работает win7 cmd ...
нтг

69

Просто добавьте путь установки (например, C: \ Python27 \ ) к переменной PATH в системных переменных . Затем закройте и откройте командную строку и введите «python» .


37
Это ответ на совершенно другой вопрос, чем тот, который задавал ОП.
wpercy

1
Вопрос не в том, PATHчто DOS использует для поиска команд, а в пути к Python, то есть sys.pathв Python. В большинстве операционных систем Python просто использует системную переменную среды PYTHONPATH, но Windows кажется «особенной».
Майкл Шепер

52

Эти решения работают, но они работают для вашего кода только на вашем компьютере. Я бы добавил пару строк в ваш код, которые выглядят так:

import sys
if "C:\\My_Python_Lib" not in sys.path:
    sys.path.append("C:\\My_Python_Lib")

Это должно заботиться о ваших проблемах


4
Модификация sys.pathкак это осуждается и по уважительным причинам. Есть лучшие способы настройки sys.path- PYTHONPATHпеременная окружения и .pthфайлы.
Петр Доброгост

38

Добавление Python и PythonPath в среду Windows:

  1. Откройте проводник.
  2. Щелкните правой кнопкой мыши «Компьютер» на панели дерева навигации слева.
  3. Выберите «Свойства» в нижней части контекстного меню.
  4. Выберите «Расширенные настройки системы»
  5. Нажмите «Переменные среды ...» на вкладке «Дополнительно»
  6. В разделе «Системные переменные» :

    1. Добавить

      • PY_HOME

        C:\Python27
      • PYTHONPATH

        %PY_HOME%\Lib;%PY_HOME%\DLLs;%PY_HOME%\Lib\lib-tk;C:\another-library
    2. Append

      • path

        %PY_HOME%;%PY_HOME%\Scripts\

3
Это единственное решение, которое сработало для меня. Кроме того, для тех из вас, у кого нет прав администратора, просто выполните действия, описанные выше в разделе «Пользовательские переменные для [ваше имя пользователя]», и это будет работать так же хорошо.
Тарифы КА

Python на Windows, оценивая node.js немного больше прямо сейчас
Эдди

19

Самый простой способ задать путь в python: нажмите «Пуск»> «Мой компьютер»> «Свойства»> «Дополнительные параметры системы»> «Переменные среды»> «Вторые окна»>

введите описание изображения здесь

выберите Путь> Изменить>, а затем добавьте «; C: \ Python27 \; C: \ Python27 \ Scripts \»

ссылка: http://docs.python-guide.org/en/latest/starting/install/win/


изменение системного пути ничего не изменило (его тоже удалили). Но ввод в административном режиме cmd работал: ftype Python.File = "C: \ Python27 \ python.exe" "% 1"% *
JinSnow


13

Вы также можете добавить .pthфайл, содержащий нужный каталог, либо в вашей c:\PythonX.Xпапке, либо в вашей \site-packages folder, что обычно является моим предпочтительным методом при разработке пакета Python.

Смотрите здесь для получения дополнительной информации.


9
import sys
sys.path.append("path/to/Modules")
print sys.path

Это не будет сохраняться после перезагрузки или перевода в другие файлы. Однако замечательно, если вы не хотите постоянно вносить изменения в свою систему.


1
+1 за возможность устанавливать пути во время выполнения. в то время как возможно «хакерский», при написании доказательства концепции или одноразовой работы, это идеально и оставляет систему неизменной.
Джошуа Бернс

Я не согласен, что вы должны сделать это только один раз. Я нахожу, что дополнительный путь не сохраняется после перезапуска
ядра

8

Самый простой способ сделать это успешно - снова запустить установщик python (после первой установки), а затем:

  1. выберите Изменить.
  2. отметьте дополнительные функции, которые вы хотите, и нажмите Далее.
  3. здесь, на шаге «Дополнительные параметры», вы должны увидеть опцию «Добавить Python в переменные окружения». Просто отметьте эту опцию и нажмите «Установить». 3-й шаг Когда установка завершена, переменные среды Python добавляются, и вы можете легко использовать python везде.

6

В Python 3.4 для Windows это работало, когда я добавлял его в переменную среды PATH вместо PYTHONPATH. Например, если вы установили Python 3.4 в D: \ Programming \ Python34, добавьте это в конец переменной окружения PATH

;D:\Programming\Python34

Закройте и снова откройте командную строку и выполните команду «python». Это откроет оболочку Python. Это также исправило мою проблему Sublime 3 «python не распознается как внутренняя или внешняя команда» .


Да, это было единственное решение для меня (Python 3.x). Я действительно понятия не имею, почему% PYTHONPATH% не разрешается по параметру Path. Вызывать папку Scripts не нужно.
Дэвидсон Лима

6

Пути Python 2.X могут быть установлены из нескольких приведенных выше инструкций. Python 3 по умолчанию будет установлен в C: \ Users \\ AppData \ Local \ Programs \ Python \ Python35-32 \, поэтому этот путь необходимо добавить к переменной Path в среде Windows.


5

Чтобы увеличить PYTHONPATH, запустите regedit и перейдите к KEY_LOCAL_MACHINE \ SOFTWARE \ Python \ PythonCore, а затем выберите папку для версии Python, которую вы хотите использовать. Внутри находится папка с именем PythonPath, с одной записью, которая указывает пути, в которых при установке по умолчанию хранятся модули. Щелкните правой кнопкой мыши PythonPath и выберите создание нового ключа. Возможно, вы захотите назвать ключ в честь проекта, расположение модуля которого он будет указывать; таким образом, вы можете легко разделить и отслеживать изменения пути.

Спасибо


4

Переменная среды PYTHONPATH используется Python для указания списка каталогов, из которых модули могут быть импортированы в Windows. При запуске вы можете проверить sys.pathпеременную, чтобы увидеть, какие каталоги будут искать при импорте чего-либо.

Чтобы установить эту переменную из командной строки, используйте: set PYTHONPATH=list;of;paths.

Чтобы установить эту переменную из PowerShell, используйте: $env:PYTHONPATH=’list;of;paths’непосредственно перед запуском Python.

Глобально устанавливать эту переменную через настройки переменных среды не рекомендуется, так как она может использоваться любой версией Python вместо той, которую вы собираетесь использовать. Подробнее читайте в документации по FAQ по Windows .



3

На этот вопрос нужен правильный ответ:

Просто используйте стандартный пакет site, который был сделан для этой работы!

и вот как (плагиат мой собственный ответ на мой собственный вопрос на ту же тему):


  1. Откройте приглашение Python и введите
>>> import site
>>> site.USER_SITE
'C:\\Users\\ojdo\\AppData\\Roaming\\Python\\Python37\\site-packages'
...
  1. Создайте эту папку, если она еще не существует:
...
>>> import os
>>> os.makedirs(site.USER_SITE)
...
  1. Создайте файл sitecustomize.pyв этой папке, содержащий содержимое FIND_MY_PACKAGES, либо вручную, либо используя что-то вроде следующего кода. Конечно, вы должны изменить C:\My_Projectsправильный путь к своему пользовательскому месту импорта.
...
>>> FIND_MY_PACKAGES = """
import site
site.addsitedir(r'C:\My_Projects')
"""
>>> filename = os.path.join(site.USER_SITE, 'sitecustomize.py')
>>> with open(filename, 'w') as outfile:
...     print(FIND_MY_PACKAGES, file=outfile)

И в следующий раз, когда вы запустите Python, C:\My_Projectsон появится у вас sys.path, не затрагивая общесистемные настройки. Бонус: вышеперечисленные шаги работают и на Linux!


Это способ идти, кажется. Хорошее, кроссплатформенное и долгосрочное решение. Великий!
Прамеш Баджрачарья

2

Эту PYTHONPATHпеременную необходимо установить, ArcPYкогда установлен ArcGIS Desktop.

PYTHONPATH=C:\arcgis\bin (ваша домашняя корзина ArcGIS)

По какой-то причине он никогда не был установлен, когда я использовал установщик в 32-битной системе Windows 7.


2

Я получил это работает в Windows 10 , выполнив следующие шаги.

Под переменными среды, вы должны добавить его только в PATH « Системные переменные », а не в « Пользовательские переменные ». Это большая путаница и съедает время, если мы его пропустим.

Кроме того, просто попробуйте перейти по пути, по которому на вашем компьютере установлен Python, и добавьте его в PATH. Это просто работает, и нет необходимости добавлять какие-либо другие вещи в моем случае. Я добавил чуть ниже пути, и это сработало.

C: \ Users \ имя_пользователя \ AppData \ Local \ Programs \ Python \ Python37-32

Что наиболее важно , закройте командную строку, снова откройте, а затем снова попробуйте ввести «python», чтобы увидеть подробности версии. Вам нужно перезапустить командную строку, чтобы увидеть версию после установки пути в переменных среды.

После перезапуска вы сможете увидеть приглашение python и информацию ниже при вводе python в командной строке:

При вводе python в командной строке


1

Может быть, немного поздно, но именно так вы добавляете путь к переменным среды Windows.

  1. Перейдите на вкладку «Переменные среды», чтобы сделать это, нажав клавишу Windows + Pausa inter.

  2. Перейдите в Расширенные настройки системы.

  3. Нажмите на переменные среды.

  4. В нижнем окне найдите значение «Путь».

  5. Выберите это

  6. Нажмите на Изменить

  7. В конце строки добавьте папку для установки и путь к папке «Scripts».

  8. Нажмите ОК, Aceptar и т. Д.

Готово, введите cmd и напишите python из любого места на вашем диске, он должен войти в программу Python.

Пример с моим ПК (у меня есть Python34)

EXISTING_LINES;C:\Python34;C:\Python34\Scripts\

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

Привет из Боготы


2
Это действительно немного поздно, так как этот ответ уже был предоставлен пять лет назад :-) Это также не совсем то, что здесь задается (поскольку вопрос касается PYTHONPATH, а не PATH) ...
Мартин Турной,

2
Что такое Pausa inter.?
Ринго

0

Вы можете легко установить переменную пути в командной строке.

  1. Откройте Run и напишите cmd

  2. В командной строке напишите следующее: set path =% path%; C: \ python36

  3. нажмите Ввод.
  4. чтобы проверить написать питон и войти. Вы увидите версию Python, как показано на рисунке.

введите описание изображения здесь


0

Хотя этот вопрос касается «настоящего» Python, он возник в веб-поиске «Iron Python PYTHONPATH». Для пользователей Iron Python, таких же, как я, запутались: получается, что Iron Python ищет переменную среды с именем IRONPYTHONPATH.

Пользователи Linux / Mac / POSIX: не забывайте, что Windows не только использует в \качестве разделителей пути, но она также использует в ;качестве разделителей пути, а не :.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.