[!question] 垃圾python玛德天天不会对下兼容,天天他妈的报错,和nodejs一个吊样 果然不是用来写大型项目和后端的,兼容性就玩崩

常见错误

ImportError: cannot import name 'html5lib' from 'pip._vendor'

  • pip版本太低
curl -sS https://bootstrap.pypa.io/get-pip.py | sudo python3.10

curl -sS https://bootstrap.pypa.io/get-pip.py | sudo python3

设置镜像源

临时

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <需要安装的包>

永久

pip install pip -U
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

虚拟环境创建

创建

  1. pip3 install virtualenv(默认py只带不用安装)
  2. mkdir venv;cd venv;python3 -m venv <虚拟环境的路径,可以是.>,在目录下会创建venv文件夹,是虚拟环境的核心文件
  3. source venv/bin/activate
  4. 使用pip3 install -r requirements.txt安装依赖

退出

  • deactivate

目录关系

  • 文件夹需要存在__init__.py才会被认为是一个包,这种情况下才能被导入,包不能直接运行但是可以通过python3 -m <包名>.<文件名(不带后缀>运行

setup.py

  • 是用来构建一个包的方便其他人pip安装

[!tip] 参考 python之setup.py快速了解和使用 - popsicle - 博客园 (cnblogs.com)

requirements.txt生成

  1. pip freeze > requirements.txt不推荐,会生成一大堆乱七八糟的包依赖信息
  2. 推荐方式
pip install pipreqs
pipreqs ./ --encoding=utf8  --force

pip安装

  • 运行
$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py   # 下载安装脚本
$ sudo python get-pip.py    # 运行安装脚本

pip镜像加速

  • 一次性 pip3 install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 永久设置
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
pip config set install.trusted-host pypi.tuna.tsinghua.edu.cn

[!tip] 参考 pip 使用国内镜像源