我遇到了一个奇怪的问题,我尝试在Linux系统上安装我的python包(使用setuptools),并尝试将pywin32安装为依赖项。如果我从特定目录运行它,则会发生 only 。如果我将整个树移动到另一个目录,它安装得很好。
我的setup.py确实为win32平台引用了pywin32,但即使我删除它也没有区别。我还删除了所有其他要求而没有任何行为改变。除了setuptools初始化和调用setup()之外,我的setup.py中没有任何内容。
我有一个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还可以从哪里搜索依赖项?
更新:它似乎不是重要的目录名称,而是它的位置。如果我将包目录向上移动一级,它将安装正常。此处讨论的目录已被删除并重新创建多次,因此它似乎与目录中的任何内容无关。
答案 0 :(得分:0)
尝试删除dist开发目录中的* .egg-info。如果这不起作用,请尝试使用新的,未触及的代码检查,而不使用任何其他setuptools / dist工件,看看是否可以重现问题。如果没有,那么你知道它只是需要清理的setuptools / dist工件之一。