0
我已經制作了一個包並使用pip進行安裝(已經創建了sdist包)。但是,當我執行同時安裝的腳本/usr/local/bin/
它的錯誤,因爲它試圖導入的模塊也安裝了/usr/local/lib/python2.7/site-packages/MyApplication/Modules/
有沒有辦法讓pip安裝執行路徑到正確的位置,所以當我執行腳本時從終端(任何目錄)它從正確的地方運行?pip安裝包位置問題
我已經制作了一個包並使用pip進行安裝(已經創建了sdist包)。但是,當我執行同時安裝的腳本/usr/local/bin/
它的錯誤,因爲它試圖導入的模塊也安裝了/usr/local/lib/python2.7/site-packages/MyApplication/Modules/
有沒有辦法讓pip安裝執行路徑到正確的位置,所以當我執行腳本時從終端(任何目錄)它從正確的地方運行?pip安裝包位置問題
我已經自己回答了這個問題,並且爲了簡潔起見,我將回答放在其他人遇到同樣的問題時。
在我的模塊導入發生之前,我會檢查模塊目錄的安裝位置。然後我將其添加到sys.path
。這工作完美。
sites = site.getsitepackages()
for item in sites:
if os.path.exists(item + "/PackageName/modules/__init__.py"):
path = item
sys.path.append(path + '/PackageName/')
從我的理解,你有一個路徑問題?我想解決方案是修復您在路徑中安裝的python安裝順序,以便您要使用的版本首先在您的路徑中。請嘗試'echo $ PATH'並檢查它的順序。 –
是的,它是一個路徑問題,但我希望能夠使用sdist配置或者一些魔術pip參數來解決它。我知道我可以在pip安裝後解決這個問題,但我想避免複雜性,並且理想情況下只需安裝pip install即可。然後按照預期使用該腳本,在pip安裝過程中是否將包dir添加到'$ PATH'? – iNoob