Многочисленные интерпретаторы Python, используемые в одном проекте?

Я использую pycharm, и он позволяет использовать только один интерпретатор, например Python 2.7.5 или Python 3.5.1.

Проблема заключается в том, что у меня есть определенные модули, один из google для доступа к данным аналитики, и один, называемый docxfactory, который я хочу использовать вместе.

Я могу получить docxfactory только для работы с Python 3.5.1, и я могу заставить аналитику работать только на 2.7.5...

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

Ответ 1

Одна идея - написать два отдельных сценария; один для аналитики и один для docxfactory. Определите, какой из них является драйвером, и у него есть оболочка драйвера другой - обязательно вызовите соответствующую версию python.

Пример:

#/usr/bin/env python2.7
import subprocess
# Do something with analytics
# ...
# Now call docxfactory script
subprocess.call(['python3', 'docxcript.py'])

Ответ 2

Это на самом деле возможно с небольшим взломом.

  • закройте пичарм IDE.
  • откройте $PROJECT/.idea/modules.xml и добавьте другой модуль с другим именем, например:

<modules> <module fileurl="file://$PROJECT_DIR$/.idea/jobs.iml" filepath="$PROJECT_DIR$/.idea/jobs.iml"/> <module fileurl="file://$PROJECT_DIR$/.idea/synonymer.iml" filepath="$PROJECT_DIR$/.idea/synonymer.iml"/> </modules>

  • Теперь добавьте файл с тем же именем в $PROJECT/.idea.
  • заново открыть проект.
  • откройте настройки проекта, где вы увидите что-то вроде этого: enter image description here
  • Обратите внимание, что теперь есть два модуля, и вы можете настроить каждый отдельно. Это означает, что вы можете настроить папки, исключения и разных интерпретаторов. Теперь вы работаете, чтобы настроить вещи правильно.

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

Ответ 3

Чтобы использовать разные интерпретаторы на pycharm, выполните следующие шаги ниже:

  • Сначала вам нужно добавить новый интерпретатор, перейдите в раздел "Настройки"

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

  • Выберите вкладку "Project Interpreter"

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

  • Нажмите на передачу справа вверху

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

  • Нажмите на сигнал "Плюс", чтобы добавить нового интерпретатора

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

  • Выберите исполняемый интерпретатор Python и примените/закройте другие фреймы

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

Чтобы изменить интерпретатор, вам нужно выполнить следующие шаги

  • Нажмите на список запуска и выберите опцию "Редактировать конфигурации"

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

  • В этом окне найдите раздел "Python Interpreter" и нажмите стрелку внизу, чтобы выбрать новый интерпретатор

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

  • Нажмите "применить".

После этих шагов вы можете изменить интерпретатор в любое время.

Ответ 4

Не уверен, что это применимо в Community Edition, но в Professional это просто. Мы используем его, чтобы иметь отдельно управляемый интерпретатор virtualenv + для каждой из нескольких облачных функций Google в рамках одного проекта Git + PyCharm.

Предполагая, что у вас есть структура проекта, как у меня:

myproject
│   ├── function1
│   │   ├── requirements.txt
│   │   └── main.py
│   └── function2
│       ├── requirements.txt
│       └── main.py
├── README.md
  1. Откройте ваш проект и настройте интерпретатор + virtualenv как обычно (Файл → Настройки → Проект → Интерпретатор проекта). Создайте новый интерпретатор virtualenv, сохранив его в корневом каталоге вашего проекта (например, myproject/venv)
    • Примечание. Это будет интерпретатор по умолчанию, который мы переопределим для function1 и function2.
  2. Создайте новый проект PyCharm для каждой подпапки, которая нуждается в своем собственном virtualenv. Вы прикрепите этот проект к существующему проекту.
    • Файл → Открыть → Выбрать подпапку (например, function1) → ОК → "Вложить"
    • Примечание: ошибка в PyCharm может привести к появлению здесь сообщения об ошибке... если это так, выберите open in a new window а не attach, затем закройте новое окно и повторите попытку.
  3. Вернитесь к настройкам интерпретатора проекта. Обратите внимание: теперь в списке есть два проекта: корневой myproject и function1 подпапок1.
    • Настройте каждый интерпретатор проекта так, как вам нравится, например, создав новый интерпретатор virtualenv, хранящийся в myproject/function1/venv. Теперь они действуют как полностью независимые переводчики, и PyCharm прекрасно сочетается с обоими.
  4. Повторите шаги 2-3 для любого количества подпапок /virtualenvs, таких как function2 в моем примере.

Если все прошло хорошо, вы заметите, что подпапки выделены жирным шрифтом, что указывает на то, что это действительно отдельные проекты.