python-列出安装在virtualenv中的软件包(具有相应版本),而无需使用pip
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-列出安装在virtualenv中的软件包(具有相应版本),而无需使用pip,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1414字,纯文字阅读大概需要3分钟。
内容图文
![python-列出安装在virtualenv中的软件包(具有相应版本),而无需使用pip](/upload/InfoBanner/zyjiaocheng/686/deb0009ce6884f19bc8ebc384159c9ed.jpg)
上下文:从Debian 8更新到9后,Python 3.4 virtualenvs停止工作,因为系统站点包全部被Python 3.5版本替换. This answer建议删除旧的virtualenv,创建一个新的virtualenv,然后使用pip install -r requirements.txt重新安装所有软件包.但是,我没有所有virtualenv的requirements.txt.我知道可以使用pip冻结来创建此类文件,但是由于上述原因,pip无法正常工作1.
问题:我需要生成无法激活的虚拟环境中安装的软件包及其各自的列表.
问题:是否有一种方法可以在不实际运行pip的情况下获得类似于virtualenv的pip冻结输出的列表?
注意:此问题与“ Return a list of imported Python modules used in a script?”不同,因为请求的答案不需要访问使用virtualenv的脚本,并且还应返回安装在virtualenv2中的软件包的版本.
1即,运行pip(带有任何参数)会引发ImportError:没有名为“ encodings”的模块.
2完全披露:我问一个similar question,它被错误地作为重复关闭.
解决方法:
在没有有效的提示的情况下获取已安装软件包的列表将非常困难.另外,您可以尝试从安装在virtualenv site-packages目录中的文件名中弄清楚:
您可以通过运行获取site-packages目录
python -m site
并寻找一个像
'/your/venv/lib/python3.4/site-packages'
走那条路然后跑
ls -d /your/venv/lib/python3.4/site-packages/*.dist-info
这应该为您提供virtualenv中大多数已安装软件包目录的列表.
要清理此列表并创建一个看上去与正确的语法和数据有些相似的requirements.txt文件,可以使用
ls -d /your/venv/lib/python3.4/site-packages/*.dist-info | xargs -I% basename % | sed 's/\.dist-info//; s/-/==/; s/_/-/' > requirements.txt
不用说,您之后可能需要清理其中的内容.
内容总结
以上是互联网集市为您收集整理的python-列出安装在virtualenv中的软件包(具有相应版本),而无需使用pip全部内容,希望文章能够帮你解决python-列出安装在virtualenv中的软件包(具有相应版本),而无需使用pip所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。