vlambda博客
学习文章列表

机器学习笔记 - 2使用virtualenv管理Python

关键字:

python

virtualenv

virtualenvwrapper

pip

freeze


本文感谢hx提供的支持


1 CentOS7安装python3.9.2

  1.1 安装系统常用工具

yum -y install wgetyum -y install yum-utils

  1.2 安装编译相关工具

yum -y groupinstall "Development tools"yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel


  1.3 下载python安装包,并解压

wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgztar -zxf Python-3.9.2.tgz

  1.4 编译安装python

mkdir /usr/local/python3 #创建编译安装目录cd Python-3.9.2./configure --prefix=/usr/local/python3make && make install安装后,出现下面两行就成功了Installing collected packages: setuptools, pipSuccessfully installed pip-20.2.3 setuptools-49.2.1

  1.5 解决Python2和Python3兼容的问题,并创建Python3软连接

# 查看当前python软连接ll /usr/bin/ |grep pythonlrwxrwxrwx. 1 root root 7 Mar 16 00:55 python -> python2lrwxrwxrwx. 1 root root 9 Mar 16 00:55 python2 -> python2.7-rwxr-xr-x. 1 root root 7216 Oct 31 2018 python2.7默认系统安装的是python2.7

    1.5.1、删除python软连接

rm -rf /usr/bin/python

    1.5.2、配置软连接为python3

#添加python3的软链接 ln -s /usr/local/python3/bin/python3 /usr/bin/python

    1.5.3、这个时候看下python默认版本

python -V

    1.5.4、删除默认pip软连接,并添加pip3新的软连接

rm -rf /usr/bin/pip

    1.5.5、添加 pip3 的软链接 

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

  1.6、更改yum配置

因为yum要用到python2才能执行,否则会导致yum不能正常使用(不管安装 python3的那个版本,都必须要做的)vi /usr/bin/yum 把 #! /usr/bin/python 修改为 #! /usr/bin/python2 vi /usr/libexec/urlgrabber-ext-down 把 #! /usr/bin/python 修改为 #! /usr/bin/python2vi /usr/bin/yum-config-manager#!/usr/bin/python 改为 #!/usr/bin/python2




2 Windows安装python3.9.2
下载地址:
https://www.python.org/downloads/
ftp地址:
https://www.python.org/ftp/python/
下载安装
直接下载exe文件,点击安装即可。



3 安装virtualenv
virtualenv 是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Python工程所需的包。

  3.1 安装virtualenv

pip install virtualenv安装完成以后,可以使用命令快速的创建、激活虚拟环境。

  3.2 创建软连接

ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv#创建python3的虚拟环境virtualenv --system-site-packages -p python3 venv virtualenv -p pythonX venv3注:pythonX代替为自己系统已有的版本,会创建一个干净的虚拟环境;

  3.3 查看已经创建python3的虚拟环境

cd /root/.virtualenvs/ls

  3.4 激活当前文件夹的沙盒

source venv/bin/activate--在以上完成之后就可以通过命令pip install 来安装python包了,这里安装python包就不需要root权限了,直接就可以安装。--在venv虚拟环境中,使用pip安装的包都不会再是全局性的包,只会在当前的虚拟环境中起作用,避免了系统环境的污染。

  3.5 安装测试

pip install pylint # 安装语法检测的包. pylint会被安装到当前虚拟环境,而不是全局环境pip install flask # Web微框架,快速实现Web服务. flask会被安装到当前虚拟环境,而不是全局环境

  3.6 获得帮助

virtualenv -h

  3.7 查看virtualenv版本

virtualenv --version

  3.8 退出当前虚拟环境,进入全局虚拟环境

deactivate



4 安装virtualenvwrapper

  4.1 安装virtualenvwrapper

安装virtualenv以后,已经可以创建和激活虚拟环境了,但是使用起来却不是那么的方便。我们可以在安装一个virtualenvwrapper工具,它可以更加方便的帮我们管理虚拟环境。virtualenvwrapper是virtualenv的扩展管理包,用于更方便管理虚拟环境,它可以做: a.将所有虚拟环境整合在一个目录下 b.管理(新增,删除,复制)虚拟环境 c.切换虚拟环境pip install virtualenvwrapperpip install virtualenvwrapper-win(win10下安装)

  4.2 添加环境变量

    4.2.1 安装完成以后,在~/.bashrc文件下添加以下内容:

vi /root/.bashrc# export WORKON_HOME=/root/.virtualenvs# export WORKON_HOME=~/.envs #将各项目的虚拟环境文件夹统一放在~/.virtualenvs文件夹下export WORKON_HOME=$HOME/.virtualenvssource /usr/local/python3/bin/virtualenvwrapper.sh

    4.2.2 保存以后,再执行以下指令:

source ~/.bashrc

  4.3 管理虚拟环境

下面我们就可以很方便的管理虚拟环境了。

    4.3.1 新建虚拟环境

使用系统默认Python环境新建mkvirtualenv my_virtual # 创建并切换到my_virtual虚拟环境,同时也会激活my_virtual虚拟环境,此时虚拟环境my_virtual就存放在~/.virtualenvs文件夹下使用指定Python环境新建mkvirtualenv -p /usr/bin/pythonX my_virtual

    4.3.2 激活虚拟环境

source /root/.virtualenvs/my_virtual/bin/activate

  4.4 切换到my_virtual2虚拟环境并激活

workon my_virtual2

  4.5 查看环境(在全局环境或者在当前虚拟环境都可以执行下面命令)

lsvirtualenv

  4.6 退出虚拟环境

deactivate

  4.7 删除虚拟环境

rmvirtualenv my_virtual



5 pip安装和使用

  pip安装

pip包含在Python中,Python安装好之后pip已经被安装

  查看版本

pip -V

  安装包

pip install

  显示安装包及版本

pip list

  卸载某个安装包

pip uninstall

pip基本命令汇总

pip install [安装包安装 (Install packages.)]pip download [下载下载包 (Download packages.)]pip uninstall [卸载卸载包 (Uninstall packages.)]pip freeze [冻结按需求格式安装的包的输出 (Output installed packages in requirements format.)]pip list [列表列出已安装的包 ( List installed packages.)]pip show [显示已安装软件包的信息 ( Show information about installed packages.)]pip check [检查已安装的软件包是否具有兼容的依赖项 ( Verify installed packages have compatible dependencies.)]pip config [配置管理本地和全局配置 ( Manage local and global configuration.)]pip search [搜索PyPI查找包 (Search PyPI for packages.)]pip wheel [根据您的需求构建轮子 (Build wheels from your requirements.)]pip hash [包存档的哈希计算值 ( Compute hashes of package archives.)]pip completion [用于命令完成的辅助命令 ( A helper command used for command completion.)]pip debug [显示对调试有用的信息 ( Show information useful for debugging.)]pip help [帮助显示命令的帮助 (Show help for commands.)]




6 pip 安装Python第三方包

pip安装TensorFlow

pip install tensorflow
TensorFlow被广泛应用于各类机器学习(machine learning)算法的编程实现,其前身是谷歌的神经网络算法库DistBelief。开源深度学习库 TensorFlow 允许将深度神经网络的计算部署到任意数量的 CPU 或 GPU 的服务器、PC 或移动设备上,且只利用一个 TensorFlow API。你可能会问,还有很多其他的深度学习库,如 Torch、Theano、Caffe 和 MxNet,那 TensorFlow 与其他深度学习库的区别在哪里呢?包括 TensorFlow 在内的大多数深度学习库能够自动求导、开源、支持多种 CPU/GPU、拥有预训练模型,并支持常用的NN架构,如递归神经网络(RNN)、卷积神经网络(CNN)和深度置信网络(DBN)。
TensorFlow 则还有更多的特点,如下:-- 支持所有流行语言,如 Python、C++、Java、R和Go。-- 可以在多种平台上工作,甚至是移动平台和分布式平台。-- 它受到所有云服务(AWS、Google和Azure)的支持。-- Keras - 高级神经网络 API,已经与 TensorFlow 整合。-- 与 Torch/Theano 比较,TensorFlow 拥有更好的计算图表可视化。-- 允许模型部署到工业生产中,并且容易使用。-- 有非常好的社区支持。-- TensorFlow 不仅仅是一个软件库,它是一套包括 TensorFlow,TensorBoard 和 TensorServing 的软件。官方网站(中文):https://tensorflow.google.cn/

pip安装opencv库

pip install opencv_python
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,OpenCV是一个跨平台的库,使用它我们可以开发实时的计算机视觉应用程序。它主要集中在图像处理,视频采集和分析,包括人脸检测和物体检测等功能。OpenCV官方网站:https://opencv.org/

pip安装django库

pip install django
Django是一个开放源代码的Web应用框架,由Python写成。Django是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。使用这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。django官方网站:https://www.djangoproject.com/

pip安装keras库

pip install keraspip install keras==2.0.8(指定版本,不建议)pip install keras-gpupip卸载指令:pip uninstall keras(指定包)Keras是一个由Python编写的开源人工神经网络库,可以作为Tensorflow、Microsoft-CNTK和Theano的高阶应用程序接口,进行深度学习模型的设计、调试、评估、应用和可视化。
Keras官方网站https://keras.io/

Keras和TensorFlow2关系

TensorFlow2 是一个端到端的开源机器学习平台。您可以将其视为可 的基础结构层 区分编程 。它结合了四个关键功能:在CPU,GPU或TPU上高效执行低级张量操作。计算任意微分表达式的梯度。将计算扩展到许多设备(例如 的 Summit超级计算机 ,橡树岭国家实验室 ,它跨越27,000个GPU)。将程序(“图形”)导出到外部运行时,例如服务器,浏览器,移动和嵌入式设备。
Keras是TensorFlow 2的高级API,这是一个易于解决的,高效的界面,用于解决机器学习问题,并且侧重于现代深度学习。它为迭代速度高的机器学习解决方案的开发和运输提供了必要的抽象和构造块。
Keras使工程师和研究人员能够充分利用TensorFlow 2的可伸缩性和跨平台功能:您可以在TPU或大型GPU集群上运行Keras,还可以导出Keras模型以在浏览器或移动设备上运行设备。 

pip安装ipython

1、安装pip install ipython2、启动python /usr/local/python3/bin/ipython-- ipython是一个python的交互式shell,比默认的python shell好用得多,支持变量自动补全,自动缩进,支持bash shell命令,内置了许多很有用的功能和函数。-- 学习ipython将会让我们以一种更高的效率来使用python。同时它也是利用Python进行科学计算和交互可视化的一个最佳的平台。IPython提供了两个主要的组件: 1.一个强大的python交互式shell  2.供Jupyter notebooks使用的一个Jupyter内核(IPython notebook)IPython的主要功能如下: 1.运行ipython控制台  2.使用ipython作为系统shell  3.使用历史输入(history)  4.Tab补全  5.使用%run命令运行脚本  6.使用%timeit命令快速测量时间  7.使用%pdb命令快速debug  8.使用pylab进行交互计算  9.使用IPython Notebookipython官方网站:https://pypi.org/project/ipython/


安装freeze
输出依赖,输出当前虚拟环境的所有第三方类库

  7.1 安装freeze

* 上面如果安装好之后,不需要再安装

  7.2 pip导出安装包:产生requirements.txt文件

pip freeze > requirements.txt这将会创建一个requirements.txt文件,其中包含了当前环境中所有包及 各自的版本的简单列表。您可以使用 “pip list”在不产生requirements文件的情况下, 查看已安装包的列表。这将会使另一个不同的开发者 在以后安装相同版本的相同包变得容易。

  7.3 pip在线安装:

在另一个环境下使用环境迁移。在新环境中时,在新虚拟环境执行以下命令安装依赖包。pip install -r requirements.txt




8 参考文档

https://www.python.org/https://tensorflow.google.cn/https://opencv.org/https://www.djangoproject.com/https://keras.io/https://pypi.org/project/ipython/