题
我把所有鸡蛋我的项目需要先行下载目录中,和我想的setuptools到的只有的从该目录安装软件包。
在我的setup.cfg
我有:
[easy_install]
allow_hosts = None
find_links = ../../setup
我运行python setup.py develop
和它发现并正确安装所有的包。
有关的测试,我有一个额外的要求,在指定的setup.py
tests_require=["pinocchio==0.2"],
此蛋也是在../../setup
目录驻留在本地。
我运行python setup.py test
和它看到的依赖,并认为在../../setup
就好了鸡蛋。然而,鸡蛋被安装到我的电流目录中,而不是将鸡蛋的其余部分site-packages
目录。
我试图同时指定在install-dir
和在命令行上的setup.cfg
既不似乎为tests
命令工作。
我可以只添加的依赖到install_requires
部分,但我想保持什么需要安装,如果可能的测试中分离出来。
我怎样才能保持在tests_require
部分的依赖性,但把它安装到site-packages
目录?
解决方案
只是看看源代码(setuptools的/命令/ tests.py),它看起来并不像setup.py测试不应该安装设计任何东西(它是测试,所以为什么放在站点包什么?)。它采用fetch_build_egg(setuptools的/ dist.py)获得鸡蛋,这实际上做了局部的easy_install。我怀疑你不能让平凡测试你想要做什么。
注释/思路: 我与setuptools的经验是,它有它和无证行为的错误。 (一个特别讨厌的跳闸,我发现是,它不会进入softlinked目录时的distutils会)。
我建议任一A)不这样做。 :),B)手动调用的easy_install包安装文件。或C)寻找到了setuptools的系统,也许添加自己的命令。这不是太难理解,并且知道这将有很大的帮助,当你未来的setuptools乡下人起坐。