Ubuntu系统中使用Anaconda创建和管理python3.7虚拟环境 vvipi 发表于2021年2月14日,阅读:1875 #### 使用场景 我在ubuntu16系统的服务器上部署了网站的webapp,系统自带的两个python版本分别为python2.7和python3.5,webapp使用的是自带的python3.5环境。一段时间后,我需要运行vnpy的一个版本,由于代码使用了python3.7的新特性,在python3.5下无法运行。我希望能够在这台服务器上同时运行webapp和vnpy,但又不想把系统自带的python3.5升级到python3.7,重新部署webapp。 使用anaconda虚拟python环境可以解决这个需求。创建一个python3.7的虚拟环境后,需要运行vnpy时,就先激活虚拟环境。此时在命令行运行`python`,调用的就是虚拟环境中3.7的版本。而webapp可以在默认的环境继续运行,互不干扰。 #### 参考链接 使用Anaconda创建和管理python虚拟环境的文章很多,以“anaconda python虚拟环境”为关键字搜索可以解决绝大部分问题。本文主要参考这篇文章:[《anaconda虚拟环境管理,从此Python版本不用愁》](https://www.cnblogs.com/chenhuabin/p/10718471.html "《anaconda虚拟环境管理,从此Python版本不用愁》") #### 命令备忘 下载anaconda安装包(python3.7对应的linux版本安装包是Anaconda3-2019.03-Linux-x86_64) `wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.03-Linux-x86_64.sh` 使安装包可执行 `chmod a+x Anaconda3-2019.03-Linux-x86_64.sh` 开始安装anaconda `./Anaconda3-2019.03-Linux-x86_64.sh` 如果希望之后在命令行直接输入conda就能运行而不需要加具体路径(推荐),在安装过程提示 > Do you wish the installer to initialize Anaconda3 in your /home/ubuntu/.bashrc [yes|no] 时选择yes,然后运行`source .bashrc`使配置生效。 配置为国内的镜像 ``` conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes ``` 创建虚拟python3.7环境 `conda create --name py37 python=3.7` 激活虚拟python3.7环境 `conda activate py37` 退出虚拟python3.7环境 `conda deactivate` 删除虚拟python3.7环境(删除后需要重新创建) `conda remove -n py37 -all` 安装虚拟环境下的软件包,以numpy为例 `conda install numpy -n py37` #### 踩坑记录 - 安装软件包时可能会导致环境中的python版本升级或降级! 我在运行`conda install websocket -n py37`时没有主要看提示内容一路yes,结果装完python降到2.7版本,找了半天找不到原因。所以安装时还是要看一下提示,如果提示因为包依赖关系python版本需要降级,多半是你搞错要装的包了。 - websocket和websocket-client不是一回事 多数时候你可能想安装的只是websocket-client而不是websocket。安装websocket-client后,导入的时候命令也是`import websocket`