玩转 pip 、虚拟环境和安装包,包括在线或离线安装各种package

一 创建虚拟环境
C:\Users\Administrator>cd D:\00\pystudy
C:\Users\Administrator>d:
D:\00\pystudy>python -m venv 03
说明:创建一个叫“03”目录的虚拟环境,执行后,创建目录,生成一堆虚拟环境文件。

D:\00\pystudy>cd 03
D:\00\pystudy\03>cd scripts
D:\00\pystudy\03\Scripts>
D:\00\pystudy\03\Scripts>activate.bat
激活环境,并进入虚拟环境,以后可以用pip 在该虚拟环境上安装各种第三方包。
(03) D:\00\pystudy\03\Scripts>
(03) D:\00\pystudy\03\Scripts>deactivate
撤销激活
D:\00\pystudy\03\Scripts>activate
激活,列出已安装的包。
(03) D:\00\pystudy\03\Scripts>pip list
DEPRECATION: The default format will switch to columns in the future. You can use
f under the [list] section) to disable this warning.
pip (9.0.1)
setuptools (28.8.0)


二、安装第三方包
whl是压缩文件,里面包括了setup.py
why是编译后的文件。

(1) 下载MS Windows installer (exe)格式,直接安装。 不过貌似只能装在python安装目录,
不知道如何安装在虚拟环境。
cx_oracle这么安装的。因为用的instantclient连接,不能安装在其他自建虚拟环境

(2)下载其他格式: Python第三方库几乎都可以在github或者 pypi上找到源码。
源码包格式大概有zip 、 tar.zip、 tar.bz2。
解压这些包,进入解压好的文件夹,通常会有一个setup.py的文件。
打开命令行,进入该文件夹。运行以下命令,就能把这个第三库安装到系统里:
python setup.py install
pip install package.zip

(3)在线联网安装
pip install 包名
和pip来安装第三方库很方便
它们的原理其实就是从Python的官方源pypi.python.org/pypi
下载到本地,然后解包安装。
# 安装package
pip install packagename

# 卸载package
pip uninstall packagename

# 查看所安装的package
pip list

# 将项目依赖的库重定向输出到文件,cd到项目根目录
pip projectname > requirements.txt

# 他人安装项目的依赖库
pip install -r requirements.txt
# pip常用命令可通过在命令行输入pip -h查看
# pip command -h可查看该命令的使用方法

有时候安装不了,缺乏C++支持,这时候下载whl
下载whl格式的package,再用pip安装。


三、复制虚拟环境。
1、在线模式
(1)在现有的虚拟环境中,生成环境配置清单
(venv) $ pip freeze >requirements.txt
(2)到新的虚拟环境, 按清单下载、安装各个package
(venv) $ pip install -r requirements.txt
2. 离线安装(如内网服务器不能上网时候,离线安装
(1)在可以联网的开发机器上安装好需要的包,例如 cx_oracle
pip install cx_oracle 或
pip install cx-Oracle==5.3 (指定版本)
(2)确认查看
pip list #查看安装的包
pip freeze >requirements.txt
(3)按requirements.txt 打包下载package文件,保存到packages子目录
##下载单个文件
pip install <package> --download /tmp/offline_packages
##下载多个文件
pip install --download D:\00\py\download\packages -r requirements.txt
pip install --download /tmp/offline_packages -r requirements.txt
(4)拷贝(使用scp、sftp等方式将下载好的Packages拷贝至需要离线安装这些包的内网服务器)

注意,requirement.txt和pip.exe在一个目录。
##单个文件安装
$ pip install --no-index --find-links="/tmp/tranferred_packages" <package>
pip install --no-index --find-links="D:\00\py\download\packages" -r cx-Oracle==5.3

##多个文件安装

$ pip install --no-index --find-links="D:\00\py\download\packages" -r requirements.txt

posted @ 2018-02-22 11:18  花生与酒  阅读(1284)  评论(0编辑  收藏  举报