2016-07-08 122 views
0

我已經制作了一個包並使用pip進行安裝(已經創建了sdist包)。但是,當我執行同時安裝的腳本/usr/local/bin/它的錯誤,因爲它試圖導入的模塊也安裝了/usr/local/lib/python2.7/site-packages/MyApplication/Modules/有沒有辦法讓pip安裝執行路徑到正確的位置,所以當我執行腳本時從終端(任何目錄)它從正確的地方運行?pip安裝包位置問題

+0

從我的理解,你有一個路徑問題?我想解決方案是修復您在路徑中安裝的python安裝順序,以便您要使用的版本首先在您的路徑中。請嘗試'echo $ PATH'並檢查它的順序。 –

+0

是的,它是一個路徑問題,但我希望能夠使用sdist配置或者一些魔術pip參數來解決它。我知道我可以在pip安裝後解決這個問題,但我想避免複雜性,並且理想情況下只需安裝pip install即可。然後按照預期使用該腳本,在pip安裝過程中是否將包dir添加到'$ PATH'? – iNoob

回答

1

我已經自己回答了這個問題,並且爲了簡潔起見,我將回答放在其他人遇到同樣的問題時。

在我的模塊導入發生之前,我會檢查模塊目錄的安裝位置。然後我將其添加到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/')