【问题标题】:setuptools searching for false dependencysetuptools 搜索错误依赖项
【发布时间】:2011-09-12 14:19:11
【问题描述】:

我遇到了一个奇怪的问题,我尝试在 Linux 系统上安装我的 python 包(使用 setuptools),它尝试安装 pywin32 作为依赖项。如果我从特定目录运行它,会发生这种情况。如果我将整个树移动到不同的目录,它安装得很好。

我的 setup.py 确实为 win32 平台引用了 pywin32,但即使我删除它也没有什么区别。我还删除了所有其他要求,而行为没有任何改变。我的 setup.py 除了 setuptools 初始化和对 setup() 的调用之外什么都没有。

我有一个处于活动状态的 virtualenv,并尝试在不改变行为的情况下切换到一个新的干净的 virtualenv。我在运行setup.py develop 时看到以下内容:

python setup.py develop
running develop
running egg_info
deleting foo.egg-info/requires.txt
writing foo.egg-info/PKG-INFO
writing top-level names to foo.egg-info/top_level.txt
writing dependency_links to foo.egg-info/dependency_links.txt
reading manifest file 'foo.egg-info/SOURCES.txt'
writing manifest file 'foo.egg-info/SOURCES.txt'
running build_ext
Creating /home/user/foo-env2/lib/python2.7/site-packages/foo.egg-link (link to .)
foo 1.0 is already the active version in easy-install.pth

Installed /home/user/magicdirectory/magic
Processing dependencies for foo==1.0
Searching for pywin32
Reading http://pypi.python.org/simple/pywin32/
Reading http://sf.net/projects/pywin32

现在,我可能在某个时候不小心尝试安装此软件包的 win32 egg,但那是在原始虚拟环境中,我无法弄清楚它可能会导致这种情况。

我该如何调试呢? setuptools 还能从哪里搜索依赖项?

更新:看起来重要的不是目录的名称,而是它的位置。如果我将包目录上移一级,它会安装得很好。此处有问题的目录已被多次删除并重新创建,因此它似乎与目录中的任何内容都没有关系。

【问题讨论】:

    标签: python linux setuptools pywin32


    【解决方案1】:

    尝试删除 dist 开发目录中的 *.egg-info。如果这不起作用,请尝试在没有任何其他 setuptools/dist 工件的情况下重新检查您的代码,看看是否会重现问题。如果没有,那么您就知道它是需要清理的 setuptools/dist 工件之一。

    【讨论】:

      猜你喜欢
      • 2014-10-02
      • 1970-01-01
      • 2014-03-15
      • 1970-01-01
      • 2013-04-09
      • 2017-02-12
      • 2017-09-29
      • 1970-01-01
      • 2012-11-18
      相关资源
      最近更新 更多