2015-10-16 66 views
0

每當我使用'python setup.py install'安裝我的python項目,並且在CentOS流浪盒子上調用我的項目時,它的效果很好。依賴完全解決。手動安裝python依賴不起作用。爲什麼?

但是,如果我使用fpm爲我的項目創建rpm,請使用'rpm -i rpm-file.rpm'安裝rpm,使用'pip install -r requirements-file-path.txt'手動安裝依賴項。然後調用另一個CentOS的流浪漢箱我的項目,我得到以下錯誤:

File "/usr/bin/<name-of-my-project>", line 5, in <module> 
    from pkg_resources import load_entry_point 
    File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module> 
    working_set.require(__requires__) 
    File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require 
    needed = self.resolve(parse_requirements(requirements)) 
    File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve 
    raise DistributionNotFound(req) 
pkg_resources.DistributionNotFound: fabric==1.10.2 

使用「PIP卸載」卸載依賴關係,並重新安裝它們不能解決問題。我錯過了什麼?

回答

1

剛剛在織物常見問題頁面找到了答案:http://www.fabfile.org/faq.html/。執行:

sudo pip install -U setuptools 

然後重新安裝依賴和項目解決了我的問題。但歡迎來到其他答案。

+1

你應該總是使用'virtualenv'或'pyvenv'來避免這種事情!你現在可能沒有想過,但是當你需要做一個快速更新時,你意識到你的舊應用程序正在使用一個你剛剛更新的舊版本庫,並且一切都崩潰了。好吧,你要學習一個好冷酷的課程。我從經驗中發言 - 創造一個虛擬環境! –

相關問題