2012-02-22 46 views
2

我使用PIP安裝從一個Git倉庫包:「無法從安裝目錄下安裝腳本一致的路徑」

pip install -e git+git://github.com/knipknap/[email protected]#egg=SpiffWorkflow-dev 

回購被克隆沒有問題,但安裝失敗此消息:

Running setup.py egg_info for package SpiffWorkflow 
Installing collected packages: SpiffWorkflow 
Running setup.py develop for SpiffWorkflow 
error: ("Can't get a consistent path to setup script from installation 
    directory", '/', '/home/fcorreia/venvs/myproj/src/spiffworkflow') 

我試圖考慮看看到項目的setup.py,但不是很成功......你知道嗎?

回答

1

這是因爲標誌-e的意思是「編輯」,這是一樣的做python setup.py develop,創建從<PACKAGE_NAME_LOWERCASE>一個符號鏈接到您的site-packages目錄,而不是運行常見的安裝。

看着SpiffWorkflow的setup.py我能看到的問題依賴:不是spiffworkflow

srcdir = join(dirname(__file__), 'src') 
setup(..., 
     package_dir  = {'': srcdir}) 

上面說的是包內容位於src,(什麼開發模式預計)。

你可以只下降了-e標誌,快樂生活:

pip install git+git://github.com/knipknap/[email protected]#egg=SpiffWorkflow-dev 

參考文獻:

+0

在情況下,我想保持''-e'',這樣我可以指出我的SpiffWorkflow的分支,並做修改直接在工作副本,你會說什麼是最好的解決辦法?你點到第一參考讓我覺得,這個問題可以通過增加''srcdir''到Python路徑來解決,而且它也許可以做作爲setup.py第一行動之一。這似乎不是一個非常優雅的解決方案,但... – 2012-02-29 13:08:24

+1

我不認爲加入'srcdir'到Python路徑會的工作,因爲當你做'進口spiffworkflow'蟒蛇查找名爲'spiffworkflow'在PYTHONPATH目錄,但是會存在什麼是名字'src'。我不知道解決這個問題,我認爲這是一種「反模式」有關打包命名的包目錄到任何其他名字,但'設置(名稱= XXX)' - 也許一個拉請求作者會很好。讓我知道你是否找到更好的解決方案。 – 2012-03-02 13:02:32

+0

這依然不動?我運行的setuptools(35.0.2),但我仍然得到這個錯誤。離開src之後,問題就解決了 – 2017-11-24 10:56:00