標籤:

使用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_nameactivate 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# 指定查看某環境下安裝的packageconda list -n env_name

  • 查找包

conda search pyqtgraph

  • 更新包

conda update numpyconda 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=1conda create -n env_name python=2.7conda 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中添加mirrors.tuna.tsinghua.edu.cn

如果沒有該文件可以直接創建,Windows為C://Users/username/.condarc,Linux/Mac為~/.condarc

結果如下:

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

參考

conda文檔

清華TUNA鏡像

anaconda使用總結


推薦閱讀:

Python進階課程筆記(四)
有沒有什麼很好的 Tornado 的教材或者開源項目可以做參考的?
寫了一個scrapy爬蟲,為什麼運行提示找不到Douban.items這個模塊??
來編寫你的 setup 腳本(二)
黃哥寫的對Python初學者有價值的文章。

TAG:Python |