Многочисленные интерпретаторы 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
- Откройте ваш проект и настройте интерпретатор + virtualenv как обычно (Файл → Настройки → Проект → Интерпретатор проекта). Создайте новый интерпретатор virtualenv, сохранив его в корневом каталоге вашего проекта (например,
myproject/venv
) - Примечание. Это будет интерпретатор по умолчанию, который мы переопределим для
function1
и function2
.
- Создайте новый проект PyCharm для каждой подпапки, которая нуждается в своем собственном virtualenv. Вы прикрепите этот проект к существующему проекту.
- Файл → Открыть → Выбрать подпапку (например,
function1
) → ОК → "Вложить" - Примечание: ошибка в PyCharm может привести к появлению здесь сообщения об ошибке... если это так, выберите
open in a new window
а не attach
, затем закройте новое окно и повторите попытку.
- Вернитесь к настройкам интерпретатора проекта. Обратите внимание: теперь в списке есть два проекта: корневой
myproject
и function1
подпапок1. - Настройте каждый интерпретатор проекта так, как вам нравится, например, создав новый интерпретатор virtualenv, хранящийся в
myproject/function1/venv
. Теперь они действуют как полностью независимые переводчики, и PyCharm прекрасно сочетается с обоими.
- Повторите шаги 2-3 для любого количества подпапок /virtualenvs, таких как
function2
в моем примере.
Если все прошло хорошо, вы заметите, что подпапки выделены жирным шрифтом, что указывает на то, что это действительно отдельные проекты.