【问题标题】:./setup.py nosetests error: <some_package>: Not a directory./setup.py nosetests 错误:<some_package>:不是目录
【发布时间】: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


【解决方案1】:

这是一个bug in nose 1.3.1,已在即将发布的版本中修复。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 2021-12-06
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    相关资源
    最近更新 更多