天天看點

使用conda管理python環境

一、動機

最近打算折騰​​vn.py​​​,但隻有py27版本的,因為一向習慣使用最新穩定版的,是以不得不裝py27的環境,不得不說

Python的全局鎖真的很煩。

身為懶癌患者,必然使用全功能的anaconda,但不想同時裝py27和py35兩個版本的anaconda巨無霸(同時裝兩個,

不知道conda是否也可以管理環境),于是選擇用conda裝python27的環境及一些必要的包。

弄了幾天終于把辦公電腦和家裡的Mac機上的環境都配好了,即使有了官方的安裝教材,也踩了不少坑。

(因為國内主要的期貨交易API接口隻有windows和linux版,是以Mac上的環境隻能用來回測,無法使用vn.py的模拟交易和實盤功能。)

二、環境管理

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