我正在构建一个 requirements.txt 文件,以通过 pip 在我的团队中部署一组 Python 包。我已将软件包本身保存在本地服务器上以最大程度地减少 Internet 下载,因此我在一个文件夹中有一堆轮子和 gz/zip 文件。
示例 test.txt:
packages\networkx-2.3.zip
packages\cx_Oracle-7.1.3-cp37-cp37m-win_amd64.whl
packages\SQLAlchemy-1.3.3.tar.gz
对于 whl 文件,pip 会正确跳过已安装的软件包,但对于 gz/zip 文件,它总是会重新安装它们。
这是我通过 pip 运行 test.txt 文件时得到的结果:
λ pip install -r test.txt
Processing c:\users\xxxx\dev\python deploy\packages\networkx-2.3.zip
Processing c:\users\xxxx\dev\python deploy\packages\sqlalchemy-1.3.3.tar.gz
Requirement already satisfied: cx-Oracle==7.1.3 from file:///C:/Users/xxxx/dev/Python%20deploy/packages/cx_Oracle-7.1.3-cp37-cp37m-win_amd64.whl in c:\users\xxxx\appdata\local\programs\python\python37\lib\site-packages (from -r test.txt (line 2)) (7.1.3)
Requirement already satisfied: decorator>=4.3.0 in c:\users\xxxx\appdata\local\programs\python\python37\lib\site-packages (from networkx==2.3->-r test.txt (line 1)) (4.4.0)
Installing collected packages: networkx, SQLAlchemy
Found existing installation: networkx 2.3
Uninstalling networkx-2.3:
Successfully uninstalled networkx-2.3
Running setup.py install for networkx ... done
Found existing installation: SQLAlchemy 1.3.3
Uninstalling SQLAlchemy-1.3.3:
Successfully uninstalled SQLAlchemy-1.3.3
Running setup.py install for SQLAlchemy ... done
Successfully installed SQLAlchemy-1.3.3 networkx-2.3
如何跳过重新安装压缩包?