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


Posted in Python onJuly 10, 2019

一、动机

最近打算折腾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 相关文章推荐
Django框架中方法的访问和查找
Jul 15 Python
Django返回json数据用法示例
Sep 18 Python
Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
Sep 06 Python
使用Python来开发微信功能
Jun 13 Python
python3+requests接口自动化session操作方法
Oct 13 Python
python实现贪吃蛇小游戏
Mar 21 Python
对python_discover方法遍历所有执行的用例详解
Feb 13 Python
pymongo中group by的操作方法教程
Mar 22 Python
浅谈numpy中np.array()与np.asarray的区别以及.tolist
Jun 03 Python
Python并发请求下限制QPS(每秒查询率)的实现代码
Jun 05 Python
TensorFlow中如何确定张量的形状实例
Jun 23 Python
Django nginx配置实现过程详解
Sep 10 Python
python变量的存储原理详解
Jul 10 #Python
python中 * 的用法详解
Jul 10 #Python
通过python实现随机交换礼物程序详解
Jul 10 #Python
Python实现简单的列表冒泡排序和反转列表操作示例
Jul 10 #Python
Python获取好友地区分布及好友性别分布情况代码详解
Jul 10 #Python
Python中的类与类型示例详解
Jul 10 #Python
使用python打印十行杨辉三角过程详解
Jul 10 #Python
You might like
中国第一家无线电行
2021/03/01 无线电
PHP时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
eaglephp使用微信api接口开发微信框架
2014/01/09 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
2014/08/22 PHP
3款值得推荐的微信开发开源框架
2014/10/28 PHP
帝国cms常用标签汇总
2015/07/06 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
Yii框架学习笔记之session与cookie简单操作示例
2019/04/30 PHP
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
javascript常见数据验证插件大全
2015/08/03 Javascript
jQuery中数据缓存$.data的用法及源码完全解析
2016/04/29 Javascript
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
微信小程序自定义带价格显示日历效果
2018/12/29 Javascript
微信小程序实现的绘制table表格功能示例
2019/04/26 Javascript
layui(1.0.9)文件上传upload,前后端的实例代码
2019/09/26 Javascript
js实现开关灯效果
2020/03/30 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
Python中的并发编程实例
2014/07/07 Python
彻底搞懂Python字符编码
2018/01/23 Python
浅析python中的迭代与迭代对象
2018/10/08 Python
Django给admin添加Action的步骤详解
2019/05/01 Python
选择python进行数据分析的理由和优势
2019/06/25 Python
python算法与数据结构之单链表的实现代码
2019/06/27 Python
pandas对dataFrame中某一个列的数据进行处理的方法
2019/07/08 Python
python调用其他文件函数或类的示例
2019/07/16 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
2020/06/01 Python
html5时钟实现代码
2010/10/22 HTML / CSS
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
Expedia加拿大官方网站:加拿大最大的在线旅游提供商
2017/12/31 全球购物
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
实用的简历自我评价
2014/03/06 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
十八大标语口号
2014/10/09 职场文书
公积金具结保证书
2015/05/11 职场文书
2015年机关后勤工作总结
2015/05/26 职场文书