python导出项目依赖包生成requirements文件

许多教程使用的是pip freeze > requirements.txt指令,但是这个指令只能检索当前虚拟环境中安装的包。要想自动检索项目文件中的依赖包要使用pipreqs, 使用方法如下:

1. 首先安装pipreqs

1 # 在工程根目录下执行常规安装命令
2 pipreqs ./ --force
3 
4 # 如果执行遇到编码问题,可以在工程根目录下执行如下命令:
5 pipreqs ./ --encoding=utf-8 --force

注意:这个库可以帮助你筛选出项目需要的python包,而不是当前环境的全部依赖

2. 执行pipreqs ./ --force指令即可。

3. 离线下载依赖包:

    根据requirements.txt导出需要的安装包

pip download -d PIPDIR -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

     -d指定导出的文件夹

     -r指定根据哪一个文件导出

     -i表示使用阿里源(当然可以使用其他国内源啊)
     --trusted-host表示信任主机
    更多配置请参考:https://pip.pypa.io/en/stable/cli/pip_download/#options
   有几个常用配置:

     –platform:指定需要安装的平台,比如:linux_x86_64,如果在windows/mac上默认会下载windows/mac的安装包,在linux上是肯定安装不了的
     –python-version:python的版本,默认与当前环境相同,如果值为3,则python版本为3.0.0, 若值为3.7,则python版本为3.7.0或3.7.3,最好根据python --version指定完整的版本号
注意:这里一定要添加--trusted-host,否则会报错:

WARNING: The repository located at mirrors.aliyun.com is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS instead, otherwise you may silence this warning and allow it anyway with '--trusted-host mirrors.aliyun.com'.
ERROR: Could not find a version that satisfies the requirement xxx==xxx (from versions: none)
ERROR: No matching distribution found for xxx==xxx

 

4 进入新环境使用python安装依赖

   根据自己的实际情况,把这个文件夹和requirements.txt移动到新的环境中,然后使用:

pip install --no-index --find-links=PIPDIR -r requirements.txt

# --find-links就是存放安装文件的目录
# -r是指按照requirements.txt这个文件去安装文件目录中找需要的安装包

 

 

 

转自:(36条消息) python pip下载本地依赖包,并在离线环境中安装,并解决报错ERROR: Could not find a version that satisfies the requirement报错_呆萌的代Ma的博客-CSDN博客_pip下载包到本地

posted @ 2021-12-11 18:08  术科术  阅读(1796)  评论(0编辑  收藏  举报