私はpython開発にvirtualenvと共に崇高なテキスト2を使用しています!
標準の崇高なテキスト2ビルドシステムでは、パッケージがインストールされているvirtualenvではなく、標準のpython installを使用します。
Virtualenvを使用して崇高なテキスト2をビルドするにはどうすればよいですか?
現在、ターミナルを使用して環境をアクティブ化し、スクリプトを実行しています。
更新:機能していませんが、flaskを使用しているため、変更を加えたときにビルドされるため、大きな問題ではありません。
次のように、ビルドシステムのパスをvirtualenvの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
などの他のツールが、virtualenvから正しいpythonバイナリを見つけることができます。
Windowsではこれは私のために働きます:
"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のビルドシステムは、Sublimeプロジェクトファイルで使用できる変数をサポートしており、これをプロジェクト間で移植性を高めます。
仮想環境が標準の場所にある場合は、仮想環境ディレクトリのすぐ上にあるプロジェクトのルートディレクトリに、新しいプロジェクトファイル(プロジェクト->名前を付けてプロジェクトを保存)を作成します。次に、次のような新しいビルドファイルを作成します。
{
"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の設定を変更する必要があります-[ツール]-> [システムの構築]-> [数学]に移動します。私の場合、「数学」を選択する必要があります。それは、私がビルドシステムに付けた名前だからです。これを行わない場合-Sublime Textはビルドシステムを使用しません!!
Virtualenvで作業するための崇高なテキスト3を入手しました。 OPはST2を指定していましたが、おそらくST3を使用している私自身のようです。 user1248490とRussell Beattieのおかげで、次の場所に到着しました。
{
"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"
}
ST3では、「cmd」が「Shell_cmd」になりました。 ST3ブログ を参照してください
これは私がビルドシステムとして持っているものです(私のvirtualenvが現在のプロジェクトディレクトリに 'env'というフォルダーとして作成されていると仮定しています)。これは少なくとも、プロジェクト間でビルドシステムを常に変更する必要がないことを意味します。
{
"cmd": ["env/bin/python", "-u", "$file"]
}
これを新しいビルドシステムとして保存しました([ツール]-> [ビルドシステム]-> [新しいビルドシステム])。
MAC OSXでは、これは私のために働きます
{
"cmd": ["/your/virtualenv/bin/python", "-u", "$file"]
}
私がやったことはそれをシンプルに保つことでした:
ルートドライブに行き、pythonフォルダを作成しました:
Sudo mkdir python
それからそこに入り、virtualenvを作成しました
virtualenv --no-site-packages virtualenvname
次に、上記のコマンドを使用してST2に新しいビルドを作成し、それが機能します
Herokuを使用し、フォアマンツールを使用するすべての人に答えがあります。次のように新しいビルドシステムを作成するだけです。
{
"cmd": ["foreman", "run", "python", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python"
}
これにより、Foremanで使用可能なすべての環境変数が取り込まれますinclude virtualenvの$ PATH変数。virtualenvPythonがpythonパスに追加されます。
プロジェクト固有のvirtualenvをプロジェクトの最上位レベルの.env-folderに保持するとします。
プロジェクト>プロジェクトの編集:
{
"folders":[
{
"path": ".",
"folder_exclude_patterns": [".env"],
}
],
"build_systems":[
{
"name": "Run in VirtualEnv",
"Shell_cmd": "source $project_path/.env/bin/activate && python -u $file"
}
]
}
ツール>システムの構築> VirtualEnvで実行
これはSublime Text 3でテストされていることに注意してください。
これを使用してFlaskプロジェクトをビルドします。次のコードをプロジェクト設定に追加しました:プロジェクト->プロジェクトの編集
{
"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
ソースは、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
できた!
windows 8.1、ST2の使用
この組み合わせはうまくいきました:2ステップ
1)2つの適切なキーを「env」キーに追加します。 A)Django_SETTINGS_MODULE B)PYTHONPATH
2)使用するpythonのバージョンを反映するようにcmdを更新します。
{
"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"]
}