目录
(1)创建requirements.txt文件,写入所需依赖
(2)虚拟环境中,pip 执行 requirements.txt 文件
(1)创建requirements.txt文件,写入所需依赖
6. python3.8.5版本pip install时,报错:error in anyjson setup command: use_2to3 is invalid.
一、安装依赖方式
(一)pip 安装
1. pip 在线安装
适用于网络连接正常,代理正常的情况下,直接 pip 在线安装。
最常用的安装方式。
2. pip 离线安装
适用于不能在线安装,则离线安装的情况。
(二)tar.gz 安装
适用于 pip 无法正常使用的情况下。
二、pip 安装
(一)安装前提
1. 打开虚拟环境
养成好习惯,将Django项目所需依赖,安装在虚拟环境中。
(myVenv0801) PS D:\LuoboPro\myProject>
2. pip 是否正常使用
(1)pip 作用
是一种安装工具。适用于安装依赖。
(2)pip 查看已有依赖
# 终端
pip list
(3)若终端输入pip list,无作用
原因:可能是电脑中安装有多个 python 版本,起冲突。
解决办法:python -m pip list
(4)查看依赖的版本
python -m XXX --version
# 如,查看 Django 版本
python -m django --version
(5)查看依赖的安装位置和版本
pip show django
# 如,查看 Django
pip show django
(6)什么时候需要安装依赖
若运行项目时,报错:ModuleNotFoundError: No module named 'XXX'
原因:缺少依赖
如,No module named 'django_extensions',因为在项目的settings.py文件中,INSTALLED_APPS属性里,配置有django_extensions。但是环境中缺少该依赖。
解决:安装依赖
(二)pip 在线安装(如:Django)
pip install django==3.*
# or
pip install django
# or
pip3 install django
(三)pip 离线安装(如:asgiref)
1. 下载whl文件
在 PyPI 官网里,下载离线安装所需要的wheel文件(文件一般放置在项目的虚拟环境路径下,比如项目的venv的lib下。然后终端进入venv的lib路径下执行安装命令)。
PyPI 使用教程,可参考另一篇文章:Backend - PyPI 使用教程-CSDN博客
2. 离线安装whl文件
(1)打开终端,进入whl文件所在目录路径下,执行安装命令。
(myVenv0801) PS D:\LuoboPro\myProject\venv\Lib> pip install asgiref-3.4.1-py3-none-any.whl
(2)看到安装成功的提示即可。
安装的包都默认放在venv\Lib\site-packages目录下。
3. 文件安装顺序
例如,在安装Django之前,一定要先安装 asgiref、sqlparse、pytz、typing-extensions 这四个包。
(四)批量安装
以上的安装方式都是单个安装依赖,若想批量安装依赖,有两种方式。
1. pip 在线安装
(1)创建requirements.txt文件,写入所需依赖
终端执行命令:
pip freeze >requirements.txt # 默认存放在终端执行路径中
# or
pip freeze > D:requirements.txt # 自定义存放路径
生成的文件内容:
(2)虚拟环境中,pip 执行 requirements.txt 文件
# requirements.txt 所在目录路径下
pip install -r requirements.txt
# or
python -m pip install -r requirements.txt
(3)确认依赖是否都安装好
再次执行 python -m pip install -r requirements.txt
2. pip 离线安装
在无法执行 pip 在线安装时,则可考虑使用 pip 离线安装。
(1)创建requirements.txt文件,写入所需依赖
终端执行命令:
pip freeze >requirements.txt # 默认存放在终端执行路径中
# or
pip freeze > D:requirements.txt # 自定义存放路径
生成的文件内容:
(2)下载wheel形式的依赖文件(.whl 格式)
pypi 官网里下载,该篇文章前面有讲过。
(3)新建一个总文件夹 test
① test 里新建一个文件夹allwhl,放置下载的所有wheel形式的依赖文件。
② test 里放置 requirements.txt 文件。
(4)终端执行命令
pip install --no-index --find-links=[存放whl的文件夹路径] -r requirements.txt
(5)举例
① 将test文件夹放在项目luoboganPro下,然后vscode打开虚拟机终端,进入到 luoboganPro/test 路径下。
② 执行命令
(venv368) PS D:\luoboganPro\test> pip install --no-index --find-links=./allwhl -r requirements.txt
三、tar.gz 安装
tar.gz 的格式安装第三方库文件步骤如下:
1. 下载tar.gz文件
pypi 官网里下载,该篇文章前面有讲过。
2. 解压
文件夹里有setup.py文件
3. 进入终端
终端路径切换到有setup.py文件的目录下。
无需进入虚拟终端。( ① 直接快捷键打开cmd,进入该文件夹路径。 ② 或者直接在文件管理器中的文件夹路径中,输入 cmd 并回车,即可弹出Windows终端)
4. 执行命令
python setup.py install
命令执行完,会生成依赖文件夹。
5. 移动依赖文件夹
将依赖文件夹移动到项目的venv\Lib\site-packages中。
四、若安装依赖出现问题
(一)原因&解决
1. 镜像问题,代理问题,网络问题
解决:
离线安装依赖。该文章的第三节会讲解离线安装。
2. pip版本过低或过高
解决:
(1)查看python中的pip版本
(2)若想降低pip版本。例如,python -m pip install pip==21.3.1
3. 安装的依赖版本和python版本不符合
(1)解决
重新下载依赖版本
(2)例子
若离线安装时报错ERROR:psycopg2_binary-2.9.5-cp36-cp36m-win_amd64.whl is not a supported wheel on this platform.WARNING: There was an error checking the latest version of pip.
原因:用的是python3.6版本对应的依赖,而虚拟环境是python3.7
解决:去pypi下载python3.7版本对应的依赖
4. 灵丹妙药
无论是版本高了还是版本低了而导致出现的Your proxy appears to only use HTTP and not HTTPS, try changing your proxy URL to be HTTP问题,都可以使用pip install XXX.whl的形式下载依赖。
5. python3.8.5版本的pip若不能正常下载
原因:pip22太高了,降版本到pip-20.2.2。
解决:使用python -m pip install pip-20.2.2-py2.py3-none-any.whl的形式,降低pip版本。
6. python3.8.5版本pip install时,报错:error in anyjson setup command: use_2to3 is invalid.
解决:pip install "setuptools<58.0.0"