#1.pip安装
pip是python的包管理器,使用这个工具可以很轻松安装各种python库
直接运行
pip install django
然后就可以安装了。
##1.1安装问题
输入
pip install django
报错,说权限不够,于是选择
sudo pip install django
安装虽然通过了,但是执行时出现了问题
输入
python
打开python后
import django
结果报错’ModuleNotFoundError’
但是之前确实用pip成功安装了django,并且显示信息是python2.7而不是python3
(这台linux电脑上有好几个python版本)
之后发现sudo命令在其中起了作用,当直接使用pip时,环境变量中的路径有python3,(可以输入$PATH查询),因此安装时使用的python3对应的pip,但是这个python3在其他用户目录下,因此当前用户权限不够
当使用’sudo pip’时,环境变量中的路径没有包括之前python3路径,因此只找到当前用户的python2,并使用python2对应的pip安装。
可以从上图看出两种情况下pip对应python版本不一致,实际上我将django装到了python2.7对应的目录下,而直接输入’python‘打开的是python3,因此为了使用python2.7,需要和之间一样的路径
sudo python
这样打开的python就是python2.7了
运行
import django
也能成功导入
#2 pip安装
主机上有好多python版本,但是pip指向的python只有python3.5,通过
pip --version
可以找到对应的python版本。
那么我希望为python2及其他python版本安装包,就需要对应的pip,此时可以先下载一个很实用的脚本
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
之后用
python2.7 get-pip.py --force-reinstall
就可以把pip模块下载到对应的dist-packages目录下了,此时pip对应的模块就有了,而且查看/usr/local/bin下的pip版本也会有分开。
今天在 debian 试图将 python3.5 升级到 python3.7 遇到了一些问题:
sudo apt install python3.7
之后便出现 pip并没有跟随一起装上,尝试使用之前的脚本并不可行,报错缺少 distutil.util
sudo apt install python3-distutils
之后再次运行脚本就可以成功执行了。
sudo apt-get install python-pip