Dat*_*eed 19 python pip dependency-management
我创建了一个环境并通过git添加了一个包django-paramfield:
$ pip install git+https://bitbucket.org/DataGreed/django-paramfield.git
Downloading/unpacking git+https://bitbucket.org/DataGreed/django-paramfield.git
Cloning https://bitbucket.org/DataGreed/django-paramfield.git to /var/folders/9Z/9ZQZ1Q3WGMOW+JguzcBKNU+++TI/-Tmp-/pip-49Eokm-build
Unpacking objects: 100% (29/29), done.
Running setup.py egg_info for package from git+https://bitbucket.org/DataGreed/django-paramfield.git
Installing collected packages: paramfield
Running setup.py install for paramfield
Successfully installed paramfield
Cleaning up...
Run Code Online (Sandbox Code Playgroud)
但是,当我想创建一个需求文件时,我只看到包名称:
$ pip freeze
paramfield==0.1
wsgiref==0.1.2
Run Code Online (Sandbox Code Playgroud)
如何让它输出整个字符串git+https://bitbucket.org/DataGreed/django-paramfield.git而不仅仅是包名?该软件包不在PyPi中.
UPD:也许,它必须用setup.py做些什么?我应该以某种方式改变它以反映回购网址吗?
UPD2:我在stackoverflow中发现了一个类似的问题,但是作者不确定他是如何设法解决问题的,并且不幸的是,接受的答案没有给出好的暗示,尽管从作者的评论来看它与它有关setup.py文件.
UPD3:我试图传入download_urlsetup.py并通过pip使用此url安装包,但问题仍然存在.
Jar*_*rus 17
一个简单但有效的解决方法是安装带有-e标志的包pip install -e git+https://bitbucket.org/DataGreed/django-paramfield.git#egg=django-paramfield.
然后pip freeze显示包的完整源路径.它不是应该在pip中修复的最佳方式,但它正在工作.权衡-e(编辑标志)是pip将git/hg repo 克隆/path/to/venv/src/packagename并运行python setup.py deploy而不是将其克隆到临时目录中并python setup.py install在设置包之后运行并删除临时目录.
| 归档时间: |
|
| 查看次数: |
3964 次 |
| 最近记录: |