【发布时间】:2014-03-20 20:49:50
【问题描述】:
我有一个带有以下setup.py的包裹:
from setuptools import find_packages
from setuptools import setup
# Some dependency_links magic
setup(
name='dc-gce',
version='0.0.1',
packages=find_packages(exclude=['tests', 'tests.*']),
dependency_links=dependency_links,
install_requires=[
'google-api-python-client',
'dc-tools>=0.0.1,<0.1.0'
],
tests_require=[
'dc-gae>=0.0.1,<0.1.0',
'httplib2',
'webob'
],
test_suite='tests')
这取决于一个带有这个setup.py的包:
from setuptools import find_packages
from setuptools import setup
setup(
name='dc-tools',
version='0.0.1',
packages=find_packages(exclude=['tests', 'tests.*']),
zip_safe=True,
test_suite='tests')
当我在第一个包中运行 python setup.py test 时,所有依赖项都已下载,所有测试都正常运行。
但是,当我改为运行 python setup.py nosetests 时,我收到此错误:
error: <pwd>/dc_tools-0.0.1-py2.7.egg/dc: Not a directory
提到的dc 目录是所有包中正确设置的命名空间,它确实存在于 egg 中。鸡蛋是拉链的。
我通过将zip_safe=False 添加到其setup.py 来解决dc-gae 依赖项的相同问题。不过,我觉得这不是一个适当的解决方法。
编辑:我试过python setup.py test。那行得通。我认为这是鼻子里的虫子。
【问题讨论】:
-
你是否在使用像svn这样的版本控制?
-
我正在使用 git 并且我使用
git clean -xdf来清理测试之间的所有文件。我也在使用 virtualenv。 -
尝试添加
include_package_data=True。 -
没有帮助。当我首先运行
pip install .时,它确实有效。但是我觉得这应该没有必要。 -
您使用的是最新版本的 setuptools 吗?我遇到了一些奇怪的问题,这些问题通过从旧版本更新得到了解决。
标签: python-2.7 setuptools nosetests