如何安装并使用conda指令管理python环境

yipeiwu_com5年前Python基础

一、动机

最近打算折腾vn.py,但只有py27版本的,因为一向习惯使用最新稳定版的,所以不得不装py27的环境,不得不说
Python的全局锁真的很烦。

身为懒癌患者,必然使用全功能的anaconda,但不想同时装py27和py35两个版本的anaconda巨无霸(同时装两个,
不知道conda是否也可以管理环境),于是选择用conda装python27的环境及一些必要的包。

弄了几天终于把办公电脑和家里的Mac机上的环境都配好了,即使有了官方的安装教材,也踩了不少坑。

(因为国内主要的期货交易API接口只有windows和linux版,所以Mac上的环境只能用来回测,无法使用vn.py的模拟交易和实盘功能。)

二、Anaconda的安装

Anaconda的下载页参见官网下载,Linux、Mac、Windows均支持。

安装时,会发现有两个不同版本的Anaconda,分别对应Python 2.7和Python 3.5,两个版本其实除了这点区别外其他都一样。后面我们会看到,安装哪个版本并不本质,因为通过环境管理,我们可以很方便地切换运行时的Python版本。(由于我常用的Python是2.7和3.4,因此倾向于直接安装Python 2.7对应的Anaconda)

下载后直接按照说明安装即可。这里想提醒一点:尽量按照Anaconda默认的行为安装——不使用root权限,仅为个人安装,安装目录设置在个人主目录下(Windows就无所谓了)。这样的好处是,同一台机器上的不同用户完全可以安装、配置自己的Anaconda,不会互相影响。

对于Mac、Linux系统,Anaconda安装好后,实际上就是在主目录下多了个文件夹(~/anaconda)而已,Windows会写入注册表。安装时,安装程序会把bin目录加入PATH(Linux/Mac写入~/.bashrc,Windows添加到系统变量PATH),这些操作也完全可以自己完成。以Linux/Mac为例,安装完成后设置PATH的操作是

# 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin
echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc
# 更新bashrc以立即生效
source ~/.bashrc

配置好PATH后,可以通过which conda或conda --version命令检查是否正确。假如安装的是Python 2.7对应的版本,运行python --version或python -V可以得到Python 2.7.12 :: Anaconda 4.1.1 (64-bit),也说明该发行版默认的环境是Python 2.7。

三、环境管理

conda常用命令

查看当前系统下的环境

conda info -e

创建新的环境

# 指定python版本为2.7,注意至少需要指定python版本或者要安装的包# 后一种情况下,自动安装最新python版本
conda create -n env_name python=2.7
# 同时安装必要的包
conda create -n env_name numpy matplotlib python=2.7

环境切换

# 切换到新环境# linux/Mac下需要使用source activate env_name
activate env_name
#退出环境,也可以使用`activate root`切回root环境
deactivate env_name

移除环境

conda remove -n env_name --all

四、包管理

给某个特定环境安装package有两个选择,一是切换到该环境下直接安装,二是安装时指定环境参数-n

activate env_nameconda install pandas
# 安装anaconda发行版中所有的包
conda install anaconda
conda install -n env_name pandas

查看已经安装的package

conda list
# 指定查看某环境下安装的package
conda list -n env_name

查找包

conda search pyqtgraph

更新包

conda update numpy
conda update anaconda

卸载包

conda remove numpy

五、vnpy环境配置中遇到的疑难杂症

1、64位系统和root环境下指定安装32位

vnpy在window系统下使用的python版本和package都是32位的,但除非下载anaconda时就下载32位版本。

现在大多数系统都是64位了吧,我装的也是64位,那么用conda安装时默认64位,stackoverflow了发现解 决方案,安装前设置使用32位:

# 设置32位set CONDA_FORCE_32BIT=1
conda create -n env_name python=2.7
conda install numpy pandas
# 切回系统默认set CONDA_FORCE_32BIT=

2、设置国内镜像

家里用的长城宽带,访问国外资源的网速简直不能忍,于是看了下conda有没有国内的镜像。然后真找到了一个
清华大学TUNA镜像清华大学 TUNA 镜像源
网站有添加方法

# 需要去掉网址的引号
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --set show_channel_urls yes

如果命令行方法添加不上,可以在用户目录下的.condarc中添加https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/:

如果没有该文件可以直接创建,Windows为C://Users/username/.condarc,Linux/Mac为~/.condarc

结果如下:

channels:
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 
 - defaults
show_channel_urls: yes

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

解决Python内层for循环如何break出外层的循环的问题

偶然发现了for…else…这种用法,使用这个实现了break跳出嵌套的for循环 In [31]: for i in range(1,5): ...: for j in r...

python虚拟环境的安装配置图文教程

python虚拟环境的安装配置图文教程

使用pip安装     pip install virtualenv 因为已经安装过了,所以显示这样 在这里我想在这里推荐大家以后再安装类库时可以用豆瓣源来安装,速...

python如果快速判断数字奇数偶数

这篇文章主要介绍了python如果快速判断数字奇数偶数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用 按位与运算符(&) 将能更...

python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法

字典是另一种可变容器模型,且可存储任意类型对象。 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ; 字典值可...

pygame实现俄罗斯方块游戏(基础篇1)

pygame实现俄罗斯方块游戏(基础篇1)

本文实例为大家分享了pygame实现俄罗斯方块游戏的具体代码,基础的第一篇,供大家参考,具体内容如下 一、初始界面 之前的游戏都比较简单,所以代码都是面向过程的写法,这次游戏后面可能会写...