我來自使用Autotools(./configure,make,make install)的C背景,但最近開始使用Python。通過Autotools,我可以通過執行./configure --prefix=/foo/bar
或多或少地在系統的任何位置安裝程序。我發現大多數Python程序都使用基於distutils的類似系統,通常在名爲setup.py的文件中。但是,我注意到如果我將項目安裝在非標準目錄中,例如通過執行python setup.py install --prefix /foo/bar
,則/foo/bar/bin
中的腳本將無法拾取安裝到/foo/bar/lib/pythonx.y/site-packages
中的程序包。如何使用自定義前綴安裝lib目錄到sys.path
我假設我不得不在該腳本執行時將該目錄添加到sys.path
。我如何以穩定的跨平臺方式做到這一點?還是我應該做點別的?
謝謝,但我不認爲這將解決問題。我不知道該程序將安裝在哪裏。它可能在文件系統中的任何地方。我將不得不使用相對路徑並考慮到x.y根據所安裝的Python版本而不同。 –
如果你正在使用distutils,並且不怕弄髒你的手,你可能會嘗試調整安裝腳本。文檔部分,這可能是有用的:http://docs.python.org/distutils/apiref.html#module-distutils.sysconfig –
也請注意,鎮上的新警長似乎是點子:http: //pypi.python.org/pypi/pip –