问题
在 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
,建议手动删除!