我正在嘗試爲基於virtualenv的Python項目設置一個Python構建系統。
通常我所有的Python virtualenv項目都以相同的方式設置:包含/ src(我的代碼所在的地方)的單個項目文件夾和virtualenv python解釋器與激活腳本一起存在的/ bin。
我想將$ project_path/src添加到PYTHONPATH環境變量中。爲了調試這個我建立這樣一個項目:
{
"build_systems":
[
{
"name": "pythonX",
"env":
{
"PYTHONPATH":"${project_path}/xxxxxyy"
},
"working_dir": "${project_path:${folder}}/src",
"cmd":
[
"${project_path}/bin/python2.7",
"-u",
"$file"
]
}
],
"folders":
[
{
"path": "/home/sal/workspace/pythonmoo"
}
]
}
我做了一個Python腳本來測試這一點 - 我剛打印出來的sys.path(這應該拿起PYTHONPATH),但我看到下面的:
'/home/sal/workspace/pythonmoo/src/${project_path}/xxxxxyy',
很明顯,該變量沒有擴大。
我在這裏做錯了什麼?有沒有更好的方法來實現我的目標?
更新0:
至於建議我重新實現這個作爲.sublime-build文件。結果完全一樣: - 變量擴展在cmd中工作正常,但在env中不起作用。
{
"env":
{
"PYTHONPATH":"$project_path/src"
},
"working_dir": "${project_path:${folder}}/src",
"cmd":
[
"${project_path}/bin/python2.7",
"-u",
"$file"
]
}
[我不確定你需要大括號](https://sublime-text-unofficial-documentation.readthedocs.org/en/latest/reference/build_systems.html?highlight=environment%20variables#編譯系統變量)的環境變量,不需要[佔位符](https://sublime-text-unofficial-documentation.readthedocs.org/en/latest/reference/build_systems.html?highlight=environment %20variables#佔位換變量)。你嘗試刪除它們嗎? –
如果沒有花括號,你會得到幾乎相同的輸出:只是未擴展的變量名稱,但這次沒有花括號。變量替換是否可能在env中不起作用? –
有多離奇。我不應該認爲'env'會是一個問題;也許是你將構建系統添加到「sublime-project」文件而不是「sublime-build」文件的事實。你是否嘗試過使用其中一個自定義屬性,還是有必要將構建文件保存在「sublime-project」文件中? –