Nie*_*sen 9 python macos distutils pip python-2.7
我有一个项目,我想从中生成两个单独的python包.我想用pip安装这些软件包.
在上一个问题的答案中,一般建议是编写两个setup.py脚本:一个setup.py中的多个项目?
所以我尝试了这样的结构:
/myproject
setup_foo.py
setup_bar.py
/mypackage1
/mypackage2
...
Run Code Online (Sandbox Code Playgroud)
在setup_foo.py我设置script_name参数:
from distutils.core import setup
setup(name = 'foo',
version = '2.0.0',
...,
script_name = 'setup_foo.py')
Run Code Online (Sandbox Code Playgroud)
(我也尝试了下面没有参数 - 根据文档默认为sys.argv [0])
我创建foo-2.0.0.tar.gz使用
python setup_foo.py sdist
Run Code Online (Sandbox Code Playgroud)
但是当我pip install foo-2.0.0.tar.gz,我得到这样的错误:
Unpacking .../foo-2.0.0.tar.gz
Running setup.py egg_info for package from file:///...foo-2.0.0.tar.gz
Traceback (most recent call last):
File "<string>", line 14, in <module>
IOError: [Errno 2] No such file or directory: '/var/folders/wj/jv7n2pmn5d1g1jjx6khc8bx80000gn/T/pip-v3dujq-build/setup.py'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 14, in <module>
IOError: [Errno 2] No such file or directory:
'/var/folders/wj/jv7n2pmn5d1g1jjx6khc8bx80000gn/T/pip-v3dujq-build/setup.py'
Run Code Online (Sandbox Code Playgroud)
我错过了一些指示pip使用的方法setup_foo.py吗?或者我应该将两个名为'setup.py'的脚本放在不同的目录中?
问题是为什么将这些项目放在一个目录中.我的建议是将它们正确分开,然后通过"setup.py develop -U"将它们添加到共享的virtualenv中.在那里,做到了,工作得很漂亮.
否则,你的下一个问题将是共享一个"setup.cfg","MANIFEST.in"等.一般来说,每次你打破setuptools/distribute的假设时,你都会有很多不必要的痛苦.
我想你选择了上面的结构,所以这两个包都是自动地在python路径中,"develop -U"使它显式化,并引用"import this":
显式优于隐式.
| 归档时间: |
|
| 查看次数: |
5213 次 |
| 最近记录: |