1. pip 常见命令
1 | 查看 pip3 版本 |
完整的文档地址:https://pip.pypa.io/en/stable/
2. pip 如何指定某个安装源
正常情况下,比如需要安装 numpy
,用的命令是:
1 | pip install numpy |
如果需要指定某个安装源的话,比方说阿里云的源,可以使用 -i
参数:
1 | pip install -i http://mirrors.aliyun.com/pypi/simple/ numpy |
国内的源还有,具体参考 pip 国内源
- 豆瓣源:http://pypi.douban.com/simple/
- 清华源:https://pypi.tuna.tsinghua.edu.cn/simple/
- 科大源:http://pypi.mirrors.ustc.edu.cn/simple/
- 阿里源:http://mirrors.aliyun.com/pypi/simple/
上面的 -i
参数方法只能临时修改安装源,下次如果不跟这个参数,还是会从海外的站点下载安装包。
那有没有一劳永逸的方法呢?当然是有的
Linux 下:编辑 ~/.pip/pip.conf
文件(如果没有该文件,手动创建一个),比方说需要修改成科大源,可以这样:
1 | [global] |
上面的 trusted-host
的目的是为了防止在安装包时,提示安装源不受信任,避免不必要的麻烦。
Windows 下:在 C:/Users/tanjuntao/
目录下,新建一个 pip
目录。接着切换到 pip
目录下,新建一个 pip.ini
文件,填入下面内容即可:
1 | [global] |
如果需要换成清华源,只需要将上面的地址改成清华源的地址即可,其它不变。
3. 如何使用某个 python 版本对应的 pip 来安装第三方包
这里以安装虚拟环境第三方包 virtualenv
为例,同时介绍如何用指定版本的 python 来安装第三方包,同时如何建立 python 虚拟环境。
首先,Python 中的虚拟环境主要有 venv 和 virtualenv 这两个工具,venv 在 python3 中是自带的一个包,可以直接用来创建虚拟环境;virtualenv 是第三方包,需要单独安装。
首先我们需要安装这个 virtualenv 到某个指定的 python 版本中。
这件事情并不是很好弄。
在服务器上,我们可以使用类似 which python3.5
来查看系统的 python3.5 安装在什么目录,使用这种方法,我们可以在服务器上查看每一种版本的 python 的位置,下面是我们跳板机上的 python3 版本列表:
1 | user@DataServer:~$ which python3 |
可以发现,服务器上的 python3 都是安装在 /usr/bin
这个目录下。python3.5
到 python3.7
都有安装,python3.8
则没有。
现在,我想要将 virtualenv 这个包安装给 python3.7 这个版本的 python,该怎么做呢?
直觉上,我们可能觉得服务器上既然存在 python3.5 / python3.6 / python3.7 这种,是不是也有 pip3.5 / pip3.6 / pip3.7 呢?遗憾的是,服务器上并没有,这样就不能直接通过制定 pip 的版本来将 virtualenv 安装到该 pip 对应的 python 中了。
经过一番查找,找到了下面的办法:
1 | python3.7 -m pip install virtualenv |
安装好 virtualenv 之后,我们可以首先看看这个命令的位置:
1 | which virtualenv |
接着,我们就可以使用这个安装好的 virtualenv 来新建虚拟环境了。首先切换到自己想要安装的目录,然后执行:
1 | virtualenv -p /usr/bin/python3.7 py37env |
这条命令将会在当前目录下,新建一个 py37env
的目录,这个目录就是我们的虚拟环境。
-p
参数的目的是后面跟上 python 的完整路径,py37env
是环境名,可以任意指定。
references: