Як налаштувати власний PYTHONPATH за допомогою VM та PyCharm?


85

Я використовую IntelliJ з плагіном Python та функцією віддаленого перекладача для спілкування з моєю віртуальною машиною Vagrant. Він правильно налаштовує віддалений інтерпретатор для використання інтерпретатора моєї віртуальної машини. Але я використовую власний PYTHONPATH у своїй віртуальній машині, і я хотів би, щоб IntelliJ розпізнав цей шлях та включив модулі в цей шлях під час розробки.

Як налаштувати віддалений інтерпретатор IntelliJ / PyCharm для використання власного PYTHONPATH на віртуальній машині?


У мене саме ця проблема, за винятком того, що у мене є багато проектів, що дотримуються загальної схеми, і зараз (в Emacs) я налаштовую все динамічно. Налаштування його для кожного проекту в Pycharm виглядає тягарем.
AdamC

Відповіді:


124

Для PyCharm 5 (або 2016.1) ви можете:

  1. виберіть Налаштування> Інтерпретатор проекту
  2. праворуч від селектора інтерпретатора є кнопка "...", натисніть її
  3. виберіть "більше ..."
  4. відкрити нове вікно "Інтерпретатори проектів"
  5. виберіть найправішу кнопку (з назвою "показати шляхи для обраного перекладача")
  6. спливаюче вікно "Шляхи перекладача"
  7. натисніть кнопку "+"> виберіть потрібний каталог PYTHONPATH (папка, що містить модулі python) і натисніть кнопку OK
  8. Готово! Насолоджуйся цим!

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

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

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


Це те, що я роблю у своєму проекті, так дратує. У мене є проект A, проект загальний, проект тест. Для того, щоб запускати unittests під тестом проекту, я додав проектні залежності, тому тестування проекту залежить від проекту A та загального, але мені все одно доведеться вручну додавати папки з A та common в PYTHONPATH.
thinkanotherone

Це додасть каталог до глобального PYTHONPATH для цього інтерпретатора, чи не так? Не тільки проект?
Рей

@Ray так, здається, це змінить загальні налаштування інтерпретатора. Але ми можемо використовувати різні virtualenv для різних проектів і встановлювати для них різні PYTHONPATH.
phil

Зверніть увагу, що спочатку потрібно встановити інтерпретатор як інтерпретатор вашого проекту, інакше крайня ліва кнопка відключена
ospider

На OSX Cmd + Shift + Period показує приховані папки у діалоговому вікні вибору (наприклад, / usr) - оскільки, здається, не існує способу просто ввести шлях.
Flash

83

Інструкції щодо редагування вашого PYTHONPATH або виправлення проблем із дозволом імпорту для перевірки коду є такими:

  1. Відкрити Налаштування (На Mac є комбінація клавіш ⌘,).

Як дістатися до Налаштування з меню

  1. Шукайте Project Structureна бічній панелі зліваProject: Your Project Name

  2. Додайте або видаліть модулі на правій бічній панелі

Налаштування структури проекту в Pycharm 4.5

EDIT : Я оновив цей знімок екрана для PyCharm 4.5


Чи все ще це стосується? Я нібито маю останнього професіонала PyCharm, але мені бракує багатьох цих категорій ... включаючи структуру проекту! Але дякую за розміщення цього !!!
R Claven

1
Привіт, я оновив скріншот для найновішої версії PyCharm 4.5. Схоже, вони реорганізували налаштування на бічній панелі.
Бьорн,

Насправді я завдячую тобі МАСИВНЕ спасибі. Я возився з "налаштуваннями за замовчуванням" замість налаштувань проекту. Ваша відповідь тут допомогла мені зрозуміти це, і тоді я вирішив багато розбіжностей, і це спрацювало. ДЯКУЮ!
R Claven

Чи є спосіб зробити це глобально? додавання /Library/Python/2.7/site-packages та /usr/local/lib/python2.7/site-packages до кожного проекту, який я відкриваю, смердить.
jeremyjjbrown

Так, @jeremyjjbrown, я вважаю, ви можете це зробити, натиснувши "Project Interpreter" та вибравши шлях інтерпретатора, який містить потрібні пакети сайтів. Це питання просто відповідало на те, щоб зробити доступними для своїх проектів конкретні пакети. Ви навіть можете використовувати requirements.txt, щоб додати весь свій проект deps у pycharm.
Бйорн,

16

Для мене рішенням було піти на

Run > Edit Configuration > Defaults > Python

потім керувати

  • "Додати корені вмісту до PYTHONPATH" та
  • "Додати вихідний корінь до PYTHONPATH"

прапорці, а також встановлення поля "Робочий каталог".

Якщо ви налаштували власні конфігурації запуску / налагодження, можливо, вам доведеться перейти до

Run > Edit Configuration > Python > [Whatever you called your config]

і відредагуйте його там.

Моя проблема полягала в тому, що я хотів, щоб моє ціле сховище було включено до мого проекту PyCharm 2016.2, але фактичним коренем вихідного коду python була лише підпапка. Я додав його як "Source Root", клацнувши правою кнопкою миші папку

Mark directory as > Source Root

Потім зніміть прапорець біля пункту «Додати корені вмісту до PYTHONPATH» та встановіть прапорець «Додати кореневий код джерела до PYTHONPATH» у меню конфігурації Run / Debug. Потім я перевірив шлях до папки, виконавши:

import sys
logger.info(sys.path)

Це вийшло:

[
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/lib/python3.4', '/usr/lib/python3.4/plat-x86_64-linux-gnu', 
    '/usr/lib/python3.4/lib-dynload', 
    '/usr/local/lib/python3.4/dist-packages', 
    '/usr/lib/python3/dist-packages'
]

Однак без виправлення в ньому сказано:

[
    '/usr/local/my_project_root/my_sources_root', 
    '/usr/local/my_project_root',                   <-- NOT WANTED
    '/usr/lib/python3.4', 
    '/usr/lib/python3.4/plat-x86_64-linux-gnu', 
    '/usr/lib/python3.4/lib-dynload', 
    '/usr/local/lib/python3.4/dist-packages', 
    '/usr/lib/python3/dist-packages'
]

Це означало, що я включив кореневу папку проекту. Це зіпсувало мені шлях.


Дякую, я не фахівець з Python, і я завжди замислювався, як зазирнути, якими шляхами імпорту я можу дійти! (ця sys.pathчастина)
Растікан

Це не ідеально, оскільки вимагає оновлення кожної конфігурації запуску.
StephenBoesch

@javadba Якщо ви хочете, щоб це працювало для всіх конфігурацій, перейдіть Run > Edit Configuration > Templates > Pythonнатомість.
Андре К. Андерсен,

@ AndréC.Andersen thx! Я ніколи раніше навіть не дивився на Шаблони .
StephenBoesch

13

Це було зроблено за допомогою PyCharm Community 2019.1

  1. Зайдіть в Налаштування проекту Налаштування
  2. Перейдіть до Структура проекту та клацніть правою кнопкою миші на директорію, яку потрібно додати, і натисніть "Джерела" Структура проекту - додайте джерела

Це має додати каталог до вашого pythonpath Структура проекту - після додавання джерел


3

Оновлення для правильної відповіді філ при умови, для більш пізніх версій PyCharm (наприклад , 2019,2).

Перейдіть у меню Файл> Налаштування та знайдіть свій проект, а потім виберіть Project Interpreter . Тепер натисніть кнопку із гвинтиком праворуч від обраного інтерпретатора проекту (раніше це було ... ).

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

У спадному меню виберіть Показати все ... і у діалоговому вікні, що відкриється, клацніть піктограму з папкою та двома підпапками.

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

Вам відкриється діалогове вікно із поточними шляхами інтерпретатора, натисніть +, щоб додати ще один.


ДЯКУЮ!!! Ми з колегою боролися за те, щоб налаштувати його середовище так, щоб воно відповідало моєму, і я не пам’ятаю про те, щоб робити ці кроки, але у мене є важливий шлях (що навіть говорить "додано користувачем").
Драрок

2

На моєму досвіді, використання змінної PYTHONPATH взагалі є, як правило, неправильним підходом, оскільки це погано грає з VENV на вікнах. PYTHON під час завантаження підготує шлях шляхом додавання PYTHONPATH до шляху, що може призвести до того, що ваш ретельно підготовлений Venv переважно отримує глобальні пакети веб-сайтів.

Замість того, щоб використовувати шлях PYTHON, включіть файл pythonpath.pth у відповідний каталог пакетів сайтів (хоча будьте обережні, користувацькі пітони час від часу шукають їх у різних місцях, наприклад, enthought виглядає в тому ж каталозі, що і python.exe для своїх файлів .pth) кожному віртуальному середовищі. Це буде діяти як PYTHONPATH, лише воно буде специфічним для інсталяції python, тому ви можете мати окремий для кожної інсталяції / середовища python. Pycharm сильно інтегрується з VENV, якщо ви просто перейдете до python VENV як вашої інсталяції python.

Див., Наприклад, це запитання SO для отримання більш докладної інформації про файли .pth ....



0

Ну, ви можете зробити це, перейшовши до діалогового вікна перекладача. Клацніть на інтерпретатор, який ви використовуєте, і під ним ви побачите дві вкладки, одна з яких називається Packages, а інша - Path.

Клацніть на Шлях і додайте до нього свій шлях до ВМ.


Коли я натискаю віддалений інтерпретатор і додаю шлях до класу, він скаржиться, коли я вказую віддалений каталог (наприклад /home/vagrant/mydir). Чи потрібно щось передмовляти до шляху? Мій інтерфейс трохи інший, оскільки я використовую IntelliJ з плагіном Python, а не PyCharm, якщо це допомагає.
baalexander

1
Ну, ви можете просто перейти до інтерпретатора SSH і завантажити матеріали з бродячого файлу, це там є.
Games Brainiac

0

У pycharm 5 дотримуйтесь цього, https://www.jetbrains.com/pycharm/help/configuring-python-interpreter-for-a-project.html

1) Відкрийте діалогове вікно "Налаштування" та натисніть сторінку "Інтерпретатор проекту".
2) На панелі Проекти виберіть потрібний проект.
3) Для обраного проекту виберіть SDK зі списку доступних інтерпретаторів Python та віртуальних середовищ.


0

В Intellij v2017.2 ви можете перейти до:

run > edit configurations > click ... next to the field 'Environment variables' > click the green + sign

Ім'я = ПІФОНПАТ

значення = your_python_path

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.