我已经使用 setuptools 一段时间了,最近使用 pip 为我的项目创建发行版,一切正常:“python setup.py sdist”、“python setup.py install”等命令按配置工作。现在我想使用 pip 安装为“可编辑”,以便在我对这个包进行维护时简化测试。所以我尝试了
cd \
pip install -e .\mypackage
这会将路径:c:\mypackage 添加到 C:\python27\Lib\site-packages\easy-install.pth。但是,在我的情况下这是错误的,因为 mypackage 的结构如下:
C:\mypackage
setup.py
src
mypackage
__init__.py
...
docs
tests
所以easy-install.pth 应该包含c:\mypackage\src,而不是c:\mypackage。我可以手动编辑 easy-install.pth 以将“\src”添加到添加的路径中,然后“import mypackage”成功,正如它应该的那样。如果我从 c:\mypackage 运行命令“python setup.py develop”,也会出现同样的问题,因此问题可能出在 setuptools 级别。
setup.py 有:
setup(
...
packages = find_packages('src'),
package_dir = {'mypackage': 'src/mypackage'},
...
)
(唯一的其他设置参数是作者、版本等文本项,由于与问题无关,因此未列出)。
我不想在easy-install.pth 中编辑路径。查看文档,看不到任何迹象表明将包源根目录放在与 setup.py 分开的文件夹中是一个问题。我做错了什么?