python 虚拟环境配置
虚拟环境的作用
基于项目的历史版本原因,python多个项目中常常用到同一模块的不同版本,因此也就需要一个隔离的环境来单独运行项目环境。最近比较火的docker虚拟技术则是项目部署阶段的典范–可惜国内的一些大厂被禁用了,近期k8s又表示放弃对docker的支持。有点扯远了,本文的虚拟环境仅仅适用于python开发。
关于本帖
- 对于一开始就用anaconda来进行python包管理,但不知道anaconda具体好在哪里的用户来说,看完本帖应该大致了解了。
同时也是为了以后电脑又崩了自己回来方便查阅,手动狗头。 - 因为之前兴趣冲冲的在Ubuntu中升级python版本,结果搞崩了,于是一气之下(能力不足啊!!!)就格式化那部分硬盘了,之前的双系统只剩下ad-win系统了。后来又因为一时兴起升级win版本到1909,导致anaconda不能创建虚拟环境,于是卸载重装,也就有了此帖。
- handson-ml2前菜,对于部分常规操作给出了帖子链接,如有失效请自行搜索,网上有大把相关帖子
都说anaconda是一款优秀的python环境(包)管理系统,就来对比体验一下儿有多香吧!
虚拟环境的配置
Ubuntu
不得不说,Linux系统以及小资系统macOS对于python开发者真的友好,鉴于穷,只以Ubuntu为例,介绍Linux下python虚拟环境的配置使用:
- 所有的虚拟环境都位于
/home/
下的隐藏目录.virtualenvs
下
1 安装
虚拟环境的命令
```
sudo pip install virtualenv
sudo pip install virtualenvwrapper
```
2 创建
虚拟环境的命令
```
mkvirtualenv -p python3 虚拟环境名称
```
`tips1`:如果不指定python版本,默认安装的是python2的虚拟环境:`mkvirtualenv 虚拟环境(python2)名称`
`tips2`:安装完虚拟环境后,如果提示找不到`mkvirtualenv`命令,须配置环境变量:
```
# 1、创建目录用来存放虚拟环境
mkdir $HOME/.virtualenvs
# 2、打开~/.bashrc文件,并添加如下:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
# 3、运行
source ~/.bashrc
```
3 使用
虚拟环境的命令
- 查看
workon 双击tab
- 使用
workon 虚拟环境名称
- 退出
deactivate
- 删除
rmvirtualenv 虚拟环境名称
- 其他
工具包安装的位置 :~/.virtualenvs/虚拟环境名称/lib/python3.5/site-packages
安装jupyter-1.0.0的包:pip install jupyter==1.0.0
查看虚拟环境中安装的包 :pip freeze
orpip list
- 后台运行jupyter:
jupyter notebook &
关闭:ps -aux | grep jupyter
查看运行的jupyter进程kill -9 pid
方式关闭运行中的 jupyter notebook
- 后台运行jupyter:
4 后台使用jupyter notebook
在Ubuntu下后台运行jupyter是一个非常方便实用的方式,在此仅附上一个相关帖子借以说明(如失效可自行搜索,有大把教程):
Ubuntu下后台启动jupyter notebook
Windows cmd/anaconda
1 Win在cmd下使用 virtualenv
cmd与Ubuntu的终端操作类似,本着不重复造*的原则,直接贴上帖子以供参考:
win下直接安装虚拟环境
下面贴上我的部分test结果,均以python3环境下为例:
C:\Users\Administrator>python
Python 3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC v.1927 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()
我的python3安装路径:
C:\Users\Administrator>whereis python
C:\Python38\python.exe
利用mkvirtualenv
创建虚拟环境:
C:\Users\Administrator>mkvirtualenv test
created virtual environment CPython3.8.6.final.0-64 in 1233ms
creator CPython3Windows(dest=C:\Users\Administrator\Envs\test, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\Administrator\AppData\Local\pypa\virtualenv)
added seed packages: pip==20.3.1, setuptools==51.0.0, wheel==0.36.1
activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
(test) C:\Users\Administrator>workon
Pass a name to activate one of the following virtualenvs:
==============================================================================
test
默认安装的虚拟环境路径在:C:\Users\Administrator\Envs
目录下tips
:win下的powershell集成了部分的命令提示,比amd方便好用,但是进不去python虚拟环境,解决方法也给出一个帖子(如失效可自行搜索,有大把教程):
powershell进入虚拟环境
2 Win下使用anaconda
anaconda常规操作
终于到anaconda了,虽然这么优秀的包管理环境在linux下也有,不过没有用过,linux(macOS)终端已经很好用了。
照例给上一个anaconda的帖子(如失效请自行搜索):
anaconda的基本使用
anaconda方便之处
界面
不得不说,界面显示确实很直观,不过我也只在创建不同python(2or3)版本的环境时用过,比如本书建议python环境3.6or3.7。
先贴上一图表示友好:
直接图形化选择点点点就ok啦,比在win环境中先安装指定python版本,再在cmd中用mkvirtualenv命令指定python版本下安装虚拟环境方便多了(anaconda直接帮我们装好对应版本python然后创建虚拟环境)。
下面是不同环境下(自带的base和新创建的mlbook)的python版本检验:
还算好用的终端
在这里也推荐使用anaconda prompt
终端工具,可以在anaconda创建的虚拟环境中使用前面mkvirtualenv的环境:
卸载bug
软件使用遇到bug怎么办,卸载重装能解决过半的问题,但卸载不干净就可能会带来新的问题:
anaconda默认在C:\Users\Administrator
路径下生成一个.condarc
文件,删除后才能进行重装虚拟环境等操作,别问我为什么知道!!!
后台执行jupyter
关于在win下的后台执行jupyter notebook,我仅仅试用jupyter notebook &
命令没有成功,给出一帖子吧(没有尝试,对比看一下就知道linux/macOS对python是有多么的友好了):
win下后台启动jupyter
不过我找了一个偷懒的方法:win+tab
然后新建桌面,把运行jupyter的终端丢进去,眼不见为净,妈妈再也不用担心我不小心关掉终端啦!!!tips
:孩子不小心关了浏览器:
复制终端里的token到浏览器打开就ok了
总结
不得不说,anaconda是真的好用。虽然没用过miniconda,但我估计是没有base环境下安装的那么多的包,具体路径参见添加anaconda到系统环境变量的帖子:
包环境路径
附上刚刚创建好的mlbook虚拟环境中包文件查看,可以对比一下base环境里的一堆文件:
感谢您能读到这里,希望此文对您有所帮助!!!