微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有--editable src文件夹的路径的pip依赖项管理

如何解决带有--editable src文件夹的路径的pip依赖项管理

以可编辑模式安装python应用程序时,我迷失了跟踪python应用程序依赖关系的最佳方法。在一个简单的示例中,假设我有一个类似以下的项目结构。

test_proj
├── requirements.txt
├── setup.cfg
├── setup.py
├── src
│   ├── test_proj
│       ├── __init__.py
│       └── sum.py
├── tests
│   ├── conftest.py
│   └── test_sum.py
└── tox.ini

然后我要使用以下方式以可编辑的方式安装该项目:

root@5ec46f98afa7:/home/test_proj# python -m venv $(pwd)/.venv
root@5ec46f98afa7:/home/test_proj# source .venv/bin/activate
(.venv) root@5ec46f98afa7:/home/test_proj# pip install -e .
Obtaining file:///home/test_proj
Installing collected packages: test-proj
  Running setup.py develop for test-proj
Successfully installed test-proj

最后,我去创建我的requirements.txt文件,但是pip将本地安装固定到了我的环境中。

(.venv) root@5ec46f98afa7:/home/test_proj# pip freeze
# Editable Git install with no remote (test-proj==0.0.post0.dev1+ga0aeded.dirty)
-e /home/test_proj/src

这很有意义,因为它已安装在我的虚拟环境中,因此应该以点冻结显示。但是,如果我使用此文件并尝试使用它在另一台计算机上安装依赖项,则pip install -r requirements.txt命令将失败。

(.venv) root@5ec46f98afa7:/home/test_proj# pip install -r requirements.txt
ERROR: File "setup.py" not found. Directory cannot be installed in editable mode: /home/test_proj/src

它正在“ / src”目录中寻找一个setup.py文件,该文件不存在,并且我认为在其中放置一个没有意义,因为我已经在根目录中放置了一个。 因此,在这一点上,我要么从我的requirements.txt文件中手动删除该行,要么使用诸如pipenv之类的其他依赖项跟踪方法。不过,我正在努力使团队中的工作尽可能简单。

这是我的setup.cfg文件的相关部分。

[options]
zip_safe = False
packages = find:
include_package_data = True
package_dir =
    =src    

[options.packages.find]
 where = src
 exclude =
     tests 

我的依赖项管理工作流程中缺少什么吗?谢谢。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。