pip freeze 导出含有路径 (@ file:///) 问题小记

  • Post author:
  • Post category:其他




问题



conda

沙箱环境中使用

pip freeze > requirements.txt

命令导出已安装的模块,其中部分模块显示了

@ file:///...

,而不是具体的版本号,如下图:

在这里插入图片描述

此时,如果我们直接在其他机器上边使用

pip install -r requirements.txt

安装模块时,就会遇到如下错误:

ERROR: Could not install packages due to an EnvironmentError: [Errno 2] No such
file or directory: 'C:\\ci\\cffi_1600699250966\\work'



原因

这是 pip 安装软件包的一种特殊语法(自19.1开始受支持)

PEP404



但是该此种路径取决于环境,

file:///URL

仅在本地文件系统上可用,你不能将生成的

requirements.txt

文件提供给其他人使用



解决

当你遇到此类问题时,可以暂时考虑使用如下命令生成

requirements.txt

文件

pip list --format=freeze > requirements.txt

使用上述命令导出的文件中,会包含如下几个包:

distribute



pip



setuptools



wheel

,建议手动删除!



参考



版权声明:本文为qq_36078992原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。