如何安装并使用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操作Mysql实例代码教程在线版(查询手册)
Feb 18 Python
python多线程http下载实现示例
Dec 30 Python
实例讲解Python中SocketServer模块处理网络请求的用法
Jun 28 Python
浅谈python socket函数中,send与sendall的区别与使用方法
May 09 Python
Python实现的文本简单可逆加密算法示例
May 18 Python
Python断言assert的用法代码解析
Feb 03 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
May 30 Python
python 实时得到cpu和内存的使用情况方法
Jun 11 Python
mac安装scrapy并创建项目的实例讲解
Jun 13 Python
Random 在 Python 中的使用方法
Aug 09 Python
复化梯形求积分实例——用Python进行数值计算
Nov 20 Python
浅谈Python数学建模之数据导入
Jun 23 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
WINDOWS服务器安装多套PHP的另类解决方案
2006/10/09 PHP
Phpbean路由转发的php代码
2008/01/10 PHP
php ss7.5的数据调用 (笔记)
2010/03/08 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
jQuery html() in Firefox (uses .innerHTML) ignores DOM changes
2010/03/05 Javascript
JQuery的一些小应用收集
2010/03/27 Javascript
javascript实现文本域写入字符时限定字数
2014/02/12 Javascript
一个检测表单数据的JavaScript实例
2014/10/31 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
javascript实现节点(div)名称编辑
2014/12/17 Javascript
jQuery插件zepto.js简单实现tab切换
2015/06/16 Javascript
Bootstrap和Java分页实例第一篇
2016/12/23 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
如何在微信小程序中实现Mixins方案
2019/06/20 Javascript
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python3 入门教程 简单但比较不错
2009/11/29 Python
关于Python面向对象编程的知识点总结
2017/02/14 Python
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
Python自动化完成tb喵币任务的操作方法
2019/10/30 Python
多个python文件调用logging模块报错误
2020/02/12 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
python如何提升爬虫效率
2020/09/27 Python
CSS3田字格列表的样式编写方法
2018/11/22 HTML / CSS
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
建筑设计所实习生自我鉴定
2013/09/25 职场文书
3D空间设计学生找工作的自我评价
2013/10/28 职场文书
大学生村官心得体会范文
2014/01/04 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
浪漫的婚礼主持词
2015/06/30 职场文书
新郎婚礼致辞
2015/07/27 职场文书
Python合并多张图片成PDF
2021/06/09 Python
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS