2015-09-12 94 views
6

我試圖用pex打包python虛擬環境,但似乎無法擺脫「無法滿足所有需求...」錯誤。這是要麼我是一個總的python newb問題,要麼幫助我弄清楚pex無法滿足這些煩人的要求。Python Pex:無法滿足所有要求

這裏的錯誤消息我看到:

(env-rba-deploy)my_machine:env-rba-deploy my_user$ pex -v --disable-cache -r <(pip freeze) -o foo.pex 
Could not satisfy all requirements for rba-deploy==1.6.0: 
    rba-deploy==1.6.0 

我想包中的Python代碼是在這裏:

enter image description here

我setup.py看起來是這樣的:

#!/usr/bin/env python 

from distutils.core import setup 

setup(name='rba-deploy', 
    version='v1.6.0', 
    description='blah', 
    author='Dude', 
    author_email='blah', 
    url='https://www.foo.bar.baz', 
    package_dir = {'':'lib'}, 
    packages=['rba','rba/response'] 
) 

這裏是pip list和pex版本:

(env-rba-deploy)my_computer:env-rba-deploy my_user$ pex --version 
pex 1.0.3 
(env-rba-deploy)my_computer:env-rba-deploy my_user$ pip list 
pip (7.1.2) 
rba-deploy (1.6.0) 
setuptools (18.2) 
wheel (0.24.0) 

我錯過了什麼?

回答

1

需求的'-r'將嘗試從pypi下載你的軟件包,但是如果你沒有上傳它,那麼它不會工作。

而不是pip freeze命令只是指向setup.py目錄使用'。'或'./'

pex -v --disable-cache -o foo.pex ./