使用pip的一些技巧和一些问题的解决办法

  1. setuptools版本过低
RuntimeError: cryptography requires setuptools 18.5 or newer, please upgrade to a newer version of setuptools

报这个错误的原因是setuptools的版本太低了
使用命令pip install -U setuptools更新setuptools就可以解决这个问题

  1. 权限不足
    在实际生产中,由于安全原因,我们一般不能直接使用root用户进行对服务器的操作,这时候使用pip进行包的安装时就可能报错
    PermissionError: [Errno 13] Permission denied: '/home/qihongtu/im_surgical/venv/build'
    这时候只要在命令前加上sudo就可以了啦,比如
    sudo pip install flask
    这时候又引出了一个新问题,就是如果使用virtualenv创建了虚拟环境,在虚拟环境中进行操作的话,使用sudo命令将使用/usr/bin目录下的pip,而不是虚拟环境下的pip,进而导致出现不理想的情况,这时候可以通过路径指定想要使用的pip,比如我创建的虚拟环境为venv,那么他里面的pip的路径为项目目录下的venv/bin/pip 注意这个是在venv目录的上一层目录进行的操作这时候进行安装的命令就变成了:
sudo venv/bin/pip install flask
  1. 使用pip导出包和批量安装包
    在生产中我们一般需要在本地进行开发,之后再将程序部署到服务器上,需要在服务器和本地安装相同的包,这时候可以使用pip将安装了的包记录下来,之后再在服务器上进行批量安装。
    将已经安装了的包导出:
pip freeze > requements.txt

pip freeze的命令是查询已经安装了的包,>符号将pip freeze命令重定向到文件中,这里的文件为requements.txt,也可以使用其他的名字,但是因为大家一般都命名为requements.txt,在一些IDE和github中也可以识别requements.txt文件来判断包是否安装完整,所以推荐使用requements作为文件名。
在将导出的文件拷贝到服务器上后,进行包的安装:

pip install -r requments.txt

pip 将会根据requements文件进行包的安装。在安装过程中,也可能由于系统原因出现安装失败的情况,可以尝试编辑requements.txt文件,文件中的内容为:

alembic==0.9.10
aliyun-python-sdk-core-v3==2.8.9
aliyun-python-sdk-dysmsapi==1.0.0
amqp==2.3.2
celery==4.2.1
Flask==1.0.2
Flask-Bootstrap==3.3.7.1
Flask-Login==0.4.1
Flask-Mail==0.9.1
Flask-Migrate==2.2.1
Flask-Moment==0.6.0
Flask-Script==2.0.6
Flask-SQLAlchemy==2.3.2
Flask-WTF==0.14.2

等号前为包的名称,等号后为要安装的版本,可以尝试删除等号和后面的版本号,让pip自动决定要安装的版本。

使用pip的一些技巧和一些问题的解决办法使用pip的一些技巧和一些问题的解决办法 weixin_42010197 发布了28 篇原创文章 · 获赞 0 · 访问量 72 私信 关注
上一篇:1 服务器基本插件安装


下一篇:【异常】tensorboard 1.14.0 has requirement setuptools>=41.0.0, but you'll have setuptools 40.6.3