Использование virtualenv с возвышенным текстом 2

Я использую возвышенный текст 2 для разработки python вместе с virtualenv!

Стандартная система построения возвышенного текста 2 использует стандартную установку python, а не мой virtualenv, где установлены мои пакеты.

Как я могу получить возвышенный текст 2 для создания с помощью моего virtualenv?

В настоящее время я использую терминал для активации моей среды и запуска моих сценариев.

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

Обратите внимание, что комментарии к этому решению неверны.

Вы должны отредактировать свой файл sublime-project и добавить следующее:

"build_systems": [ { "name": "Run Tests", "cmd": ["source", "/path/to/your/virtualenv/bin/activate"], "working_dir": "/path/to/to/you/django_project", "cmd": ["python", "manage.py", "test"] } ] 

Вы также можете установить путь для системы сборки в каталог bin вашего виртуального сервера, например:

 "build_systems": [ { "selector": "source.python", "env": {"PYTHONPATH":"/Users/user/project"}, "path":"/Users/user/work/myvirtualenv/bin:$PATH", "name": "Run virtualenv python", "cmd": ["python", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "variants": [ { "name": "Run all Tests", "working_dir": "/Users/user/project", "cmd": ["nosetests"] } ] } ] 

Это также позволяет другим инструментам, таким как nose в этом примере, найти правильный бинарный код python из virtualenv.

В окнах это работает для меня:

 "build_systems": [ { "name": "Run Tests", "working_dir": "/path/to/to/your/django_project", "cmd": ["/path/to/your/virtualenv/bin/python.exe", "manage.py", "test"] } ] 

Sublime's Build System поддерживает переменные, которые могут использоваться с файлами проекта Sublime, чтобы сделать их более переносимыми для разных проектов.

Если ваши виртуальные среды находятся в стандартном месте, создайте новый файл проекта (Project -> Save Project As) в корневой каталог вашего проекта чуть выше вашего каталога виртуальной среды. Затем создайте новый файл сборки с чем-то вроде этого:

 { "cmd": ["$project_path/venv/bin/python", "-u", "$file"] } 

Кажется, что тогда автоматически забрать все остальное – так же, как если бы вы ввели ./venv/bin/python из командной строки – не нужно путаться с путями, переменными окружения и т. Д.

Я использую Flask, но я думаю, что это применимо почти к каждому случаю.
Моя фактическая сборка похожа на это, где «benicio» – это каталог моего проекта:

 { "cmd": ["source ~/projs/benicio/venv/bin/activate && python ~/projs/benicio/benicio_tests.py"], "shell": true } 

Извините, что добавила еще один ответ на этот вопрос, но это вызвало у меня большое количество печали, выяснив это.

Вам не только нужно создать систему сборки, например:

 "build_systems": [ { "name": "Maths", "env": {"PYTHONPATH":"/home/nebffa/Desktop"}, "path":"$project_path/bin", "cmd": ["$project_path/bin/python3.3", "-u", "$file"] } ] 

но вам нужно изменить настройку в Sublime Text – перейдите в Инструменты -> Система сборки -> «Математика». В моем случае мне нужно выбрать «Maths», потому что это то, что я назвал своей системой сборки. Если вы этого не сделаете – Sublime Text не использует вашу систему сборки!

Я просто получил возвышенный текст 3 для работы в virtualenv. Хотя ОП указывает ST2, все это скорее похоже на меня, кто использует ST3. Благодаря пользователю1248490 и Расселу Битти я пришел к следующему:

 { "shell_cmd": "$project_path/vi_sys_pkgs/bin/python3 -u \"$file\"", "path": "$project_path/vi_sys_pkgs/bin", "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" } 

Обратите внимание, что «cmd» теперь является «shell_cmd» в ST3. Смотрите блог ST3

В MAC OSX это работает для меня

 { "cmd": ["/your/virtualenv/bin/python", "-u", "$file"] } 

Что я сделал, так это просто:

Пошел на корневой диск и создал папку python:

 sudo mkdir python 

затем вошел туда и создал виртуальный

 virtualenv --no-site-packages virtualenvname 

затем создал новую конструкцию в ST2 с указанной командой, и она работает

Это то, что я имею в качестве системы сборки (предполагая, что мой virtualenv создан как папка с именем env в моей текущей директории проекта). Это, по крайней мере, означает, что мне не нужно постоянно менять систему сборки между проектами:

 { "cmd": ["env/bin/python", "-u", "$file"] } 

Я сохранил это как новую систему сборки (Tools -> Build System -> New Build System).

Я использую это для создания моего проекта Flask. Я добавил следующий код в мои настройки проекта: Project -> Edit Project

 { "folders": [ { "path": "/C/MyDev/chilinzb/" } ], "build_systems": [ { "name": "Flask", // activate the specific virtualenv for the project "cmd": ["C:/MyDev/virtualenvs/env_chilinzb/Scripts/python", "$file"] } ] } 

а затем я просто переключаюсь на свой файл run.py и нажимаю Ctrl+B

эта комбинация отлично справилась: 2 шага

1) добавьте 2 соответствующих ключа к клавише «env». A) DJANGO_SETTINGS_MODULE B) PYTHONPATH

2) обновите cmd, чтобы отобразить версию python, которую вы хотите использовать.

 { "env":{"DJANGO_SETTINGS_MODULE":"my_project.settings", "PYTHONPATH":"d:\\Projects\\virts\\my_project\\Scripts;d:\\Projects\\virts\\my_project\\Lib;d:\\Projects\\virts\\my_project\\Lib\\site-packages;D:\\Projects\\my_project" }, "cmd": ["c:/Python27/python.exe","$file"] } 

У меня есть ответ для тех, кто использует Heroku и использует свой инструмент для бригадиров, и он отлично работает. Просто создайте новую систему сборки следующим образом:

 { "cmd": ["foreman", "run", "python", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" } 

Это затягивает все переменные среды, доступные для Foreman, включая переменную $ PATH вашего виртуального пользователя, которая добавляет виртуальный Python к вашему пути python.

источник не работал для меня внутри сборки на lubuntu. использовать '.' или точка вместо «источника».

это работало:

{

  "env": { "DJANGO_SETTINGS_MODULE":"django_project_name.settings", "PYTHONPATH":"/home/my_username/current/django_project_name:/home/my_username/.virtualenvs/django_project_name/lib/python2.7:/home/my_username/.virtualenvs/django_project_name/lib/python2.7/site-packages/" }, "working_dir":"$project_path", "cmd":[". /home/my_username/.virtualenvs/django_project_name/bin/activate && python $file"], "shell":true 

}

это сработало для меня:

 { "cmd": ["C:/Users/user/virtualenvs/env1/Scripts/python.exe", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" } 

сохранено в:

"C:\Users\user\AppData\Roaming\Sublime Text 2\Packages\User\"

в виде

"Python_env1.sublime-build"

Выбрать

Tools> Build System> Python_env1

сделанный!

используя окна 8.1, st2