如何安装并使用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 相关文章推荐
Python selenium 三种等待方式解读
Sep 15 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
Feb 11 Python
Python中Proxypool库的安装与配置
Oct 19 Python
python正向最大匹配分词和逆向最大匹配分词的实例
Nov 14 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
Python实现i人事自动打卡的示例代码
Jan 09 Python
python 实现字符串下标的输出功能
Feb 13 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
May 16 Python
Python csv文件记录流程代码解析
Jul 16 Python
Python实现文件压缩和解压的示例代码
Aug 12 Python
高考要来啦!用Python爬取历年高考数据并分析
Jun 03 Python
Python实现简单的俄罗斯方块游戏
Sep 25 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
2007/02/22 PHP
php中批量替换文件名的实现代码
2011/07/20 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
在vs2010中调试javascript代码方法
2011/02/11 Javascript
JS cookie中文乱码解决方法
2014/01/28 Javascript
从零学JSON之JSON数据结构
2014/05/19 Javascript
精通JavaScript的this关键字
2020/05/28 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
微信公众号-获取用户信息(网页授权获取)实现步骤
2016/10/21 Javascript
node.js学习之事件模块Events的使用示例
2017/09/28 Javascript
解决angularjs service中依赖注入$scope报错的问题
2018/10/02 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
2020/10/26 Javascript
在Python中使用sort()方法进行排序的简单教程
2015/05/21 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
详解tensorflow载入数据的三种方式
2018/04/24 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
django 微信网页授权登陆的实现
2019/07/30 Python
Python3使用xml.dom.minidom和xml.etree模块儿解析xml文件封装函数的方法
2019/09/23 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
html5唤起app的方法
2017/11/30 HTML / CSS
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
Yummie官方网站:塑身衣和衣柜必需品
2019/10/29 全球购物
外贸主管求职简历的自我评价
2013/10/23 职场文书
总裁办公室主任职责
2014/01/02 职场文书
写给女朋友的道歉信
2014/01/12 职场文书
办公室文员岗位职责范本
2014/06/12 职场文书
伦敦奥运会的口号
2014/06/21 职场文书
2014年党员学习“三严三实”思想汇报
2014/09/15 职场文书
班委竞选稿范文
2015/11/21 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
详细介绍python类及类的用法
2021/05/31 Python