使用virtualenv搭建python3開發環境


問題描述

環境: CentOS6.5

想在此環境下使用python3進行開發,但CentOS6.5默認的python環境是2.6.6版本。 
之前的做法是直接從源碼安裝python3,替換掉現有的開發環境,但在隨后使用過程中發現系統很多腳本依賴python2.6,直接替換會導致很多軟件不正常。 
今天發現有朋友使用virtualenv搭建python3開發環境,這里記錄下,也方便我以后查閱。

安裝python3

安裝腳本如下:

wget https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz
tar zxvf Python-3.4.3.tgz 
cd Python-3.4.3               
./configure --enable-shared --prefix=/usr/local
make && make altinstall

運行以上命令后,你可以在目錄/usr/local/bin/python3.4 看到新編譯的環境。

注意: 這里我們使用的是make altinstall,如果使用make install,你將會看到在系統中有兩個不同版本的Python在/usr/bin/目錄中。這將會導致很多問題,而且不好處理。

如果提示找不到so文件,可以添加以下變量:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

安裝其它版本的python可從官網下載: https://www.python.org/

搭建python3開發環境

1、安裝virtualenv,可以通過pip進行安裝,命令如下:

pip install virtualenv

如果沒有安裝pip,可以通過以下命令安裝:

yum install python-pip

2、創建虛擬環境:

virtualenv -p /usr/local/bin/python3.4 py34env

執行上述命令后,會在當前目錄創建py34env文件夾,該文件夾即為我們創建的虛擬環境。

3、激活虛擬環境:

source py34env/bin/activate

3.1、在虛擬環境中安裝ipython

pip install ipython

如果安裝過程中提示如下錯誤: 

Can't connect to HTTPS URL because the SSL module is not available. - skipping 

請安裝以下庫: 

yum install openssl-devel 

然后重新編譯安裝Python: 

./configure --prefix=/usr/local &&  make && make altinstall  

3.2、在虛擬環境中啟動ipython:

ipython

4、退出虛擬環境 

deactivate                             

其它

CentOS 6下使用 python3.6的pyenv 問題

1、在操作系統中安裝zlib和bz2相關庫

yum -y install bzip2 bzip2-devel ncurses openssl openssl-devel openssl-static xz lzma xz-devel sqlite sqlite-devel gdbm gdbm-devel tk tk-devel libffi-devel

2、編譯

export CFLAGS="-I/usr/include"
export LDFLAGS="-L/usr/lib64"
export LD_LIBRARY_PATH=/usr/lib64
make distclean
./configure --enable-optimozations --enable-shared --prefix=/usr/local
make -j 4
sudo make altinstall

3、使用

/usr/local/python/bin/pyvenv py36env
source ~/env/py36env/bin/activate

 

本文github地址:

https://github.com/mike-zhang/mikeBlogEssays/blob/master/2015/20150607_使用virtualenv搭建python3開發環境.md

歡迎補充


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM