基于项目的历史版本原因,python多个项目中常常用到同一模块的不同版本,因此也就需要一个隔离的环境来单独运行项目环境。最近比较火的docker虚拟技术则是项目部署阶段的典范–可惜国内的一些大厂被禁用了,近期k8s又表示放弃对docker的支持。有点扯远了,本文的虚拟环境仅仅适用于python开发。
都说anaconda是一款优秀的python环境(包)管理系统,就来对比体验一下儿有多香吧!
不得不说,Linux系统以及小资系统macOS对于python开发者真的友好,鉴于穷,只以Ubuntu为例,介绍Linux下python虚拟环境的配置使用:
/home/
下的隐藏目录.virtualenvs
下安装
虚拟环境的命令```
sudo pip install virtualenv
sudo pip install virtualenvwrapper
```
创建
虚拟环境的命令```
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
```
使用
虚拟环境的命令workon 双击tab
workon 虚拟环境名称
deactivate
rmvirtualenv 虚拟环境名称
~/.virtualenvs/虚拟环境名称/lib/python3.5/site-packages
pip install jupyter==1.0.0
pip freeze
or pip list
jupyter notebook &
ps -aux | grep jupyter
查看运行的jupyter进程kill -9 pid
方式关闭运行中的 jupyter notebook在Ubuntu下后台运行jupyter是一个非常方便实用的方式,在此仅附上一个相关帖子借以说明(如失效可自行搜索,有大把教程):
Ubuntu下后台启动jupyter notebook
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进入虚拟环境
终于到anaconda了,虽然这么优秀的包管理环境在linux下也有,不过没有用过,linux(macOS)终端已经很好用了。
照例给上一个anaconda的帖子(如失效请自行搜索):
anaconda的基本使用
不得不说,界面显示确实很直观,不过我也只在创建不同python(2or3)版本的环境时用过,比如本书建议python环境3.6or3.7。
先贴上一图表示友好:
直接图形化选择点点点就ok啦,比在win环境中先安装指定python版本,再在cmd中用mkvirtualenv命令指定python版本下安装虚拟环境方便多了(anaconda直接帮我们装好对应版本python然后创建虚拟环境)。
下面是不同环境下(自带的base和新创建的mlbook)的python版本检验:
在这里也推荐使用anaconda prompt
终端工具,可以在anaconda创建的虚拟环境中使用前面mkvirtualenv的环境:
软件使用遇到bug怎么办,卸载重装能解决过半的问题,但卸载不干净就可能会带来新的问题:
anaconda默认在C:\Users\Administrator
路径下生成一个.condarc
文件,删除后才能进行重装虚拟环境等操作,别问我为什么知道!!!
关于在win下的后台执行jupyter notebook,我仅仅试用jupyter notebook &
命令没有成功,给出一帖子吧(没有尝试,对比看一下就知道linux/macOS对python是有多么的友好了):
win下后台启动jupyter
不过我找了一个偷懒(伪后台,装作看不见)的方法:
win+tab
然后新建桌面,把运行jupyter的终端丢进去,妈妈再也不用担心我不小心关掉终端啦!!!
tips
:孩子不小心关了浏览器:
复制终端里的token到浏览器打开就ok了
不得不说,anaconda是真的好用。虽然没用过miniconda,但我估计是没有base环境下安装的那么多的包,具体路径参见添加anaconda到系统环境变量的帖子:
包环境路径
附上刚刚创建好的mlbook虚拟环境中包文件查看,可以对比一下base环境里的一堆文件:
感谢您能读到这里,希望此文对您有所帮助!!!