Python 虛擬環境以及同一台機器安裝多個版本的Python解釋器


 

這些都是典型的使用GNU的AUTOCONF和AUTOMAKE產生的程序的安裝步驟。

./configure是用來檢測你的安裝平台的目標特征的。比如它會檢測你是不是有CC或GCC,

 

並不是需要CC或GCC,它是個shell腳本。

make是用來編譯的,它從Makefile中讀取指令,然后編譯。

make install是用來安裝的,它也從Makefile中讀取指令,安裝到指定的位置。

AUTOMAKE和AUTOCONF是非常有用的用來發布C程序的東西。如果你也寫程序想使用AUTOMAKE和AUTOCONF,可以參考CNGNU.ORG上的相關文章。

 

 

 

1、configure ,這一步一般用來生成 Makefile,為下一步的編譯做准備,你可以通過在 configure 后加上參數來對安裝進行控制,比如

代碼:
./configure --prefix=/usr
    上面的意思是將該軟件安裝在 /usr 下面,執行文件就會安裝在 /usr/bin (而不是默認的 /usr/local/bin),
資源文件就會安裝在 /usr/share(而不是默認的/usr/local/share)。
同時一些軟件的配置文件你可以通過指定 --sys-config= 參數進行設定。
有一些軟件還可以加上 --with、--enable、--without、--disable 等等參數對編譯加以控制,
你可以通過允許 ./configure --help 察看詳細的說明幫助。

    2、make ,這一步就是編譯,大多數的源代碼包都經過這一步進行編譯
(當然有些perl或python編寫的軟件需要調用perl或python來進行編譯)。
如果 在 make 過程中出現 error ,你就要記下錯誤代碼(注意不僅僅是最后一行),
然后你可以向開發者提交 bugreport(一般在 INSTALL 里有提交地址),
或者你的系統少了一些依賴庫等,這些需要自己仔細研究錯誤代碼。
make 的作用是開始進行源代碼編譯,以及一些功能的提供,
這些功能由他的 Makefile 設置文件提供相關的功能,比如 make install 一般表示進行安裝,
make uninstal 是卸載,不加參數就是默認的進行源代碼編譯。

make 是 Linux 開發套件里面自動化編譯的一個控制程序,
他通過借助 Makefile 里面編寫的編譯規范(語法很多,類似一個可以運行的腳本程序。
反正我是看不懂,所以你也別問我怎么編寫)。進行自動化的調用 gcc 、ld 以及運行某些需要的程序進行編譯的程序。

一般情況下,他所使用的 Makefile 控制代碼,由 configure 這個設置腳本根據給定的參數和系統環境生成。

 


    3、make insatll ,這條命令來進行安裝(當然有些軟件需要先運行 make check 或 make test

 

來進行一些測試),這一步一般需要你有 root 權限(因為要向系統寫入文件)

 

 

 

 

Python多版本共存

  Python多版本共存是很常見的事情,我們知道在安裝Python解釋器的時候,需要將安裝包下載下來,然后使用tar -zxvf xxx.tar.gz ;然后,進行如下操作

 

sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib --with-readline
--enable-optimizations 為最優安裝,建議使用這個參數。
--prefix為指定安裝的路徑

進行編譯安裝

sudo make sudo make install

修改Python軟鏈

默認python命令是在/usr/bin/目錄下,需要在這里把軟鏈修改成3.5.6的版本,順便建立一個3.5.6的軟鏈。


上圖是原默認軟鏈接,是python2.7的,其實它也己經默認建立了一個python2的軟鏈接了。

重新命名默認python軟鏈接為python2.7以便3.5的版本成為默認環境變量
sudo mv /usr/bin/python /usr/bin/python2.7
建立python3.5版本的軟鏈接
sudo ln -s /usr/local/python-3.5.6/bin/python3.5 /usr/bin/python

當然,也可以不做上一步,而是將3.5版本的軟鏈接成python3之類也是可行的。

比如我做的就是新增python3的軟鏈接指向python3.5所在的目錄。
順便也將配置文件也做了一個軟鏈接指向:
sudo ln -s /usr/local/python-3.5.6/bin/python3.5-config /usr/bin/python3-config

 

 

安裝virtualenv

  virtualenv 是一個創建隔絕的Python環境的工具。virtualenv創建一個包含所有必要的可執行文件的文件夾,用來使用Python工程所需的包。

  安裝

pip install virtualenv

  基本使用

  1. 為一個工程創建一個虛擬環境:
$ cd my_project_dir
$ virtualenv venv  #venv為虛擬環境目錄名,目錄名自定義

  virtualenv venv 將會在當前的目錄中創建一個文件夾,包含了Python可執行文件,以及 pip 庫的一份拷貝,這樣就能安裝其他包了。虛擬環境的名字(此例中是 venv )可以是任意的;若省略名字將會把文件均放在當前目錄。

  在任何你運行命令的目錄中,這會創建Python的拷貝,並將之放在叫做 venv 的文件中。

  你可以選擇使用一個Python解釋器:

$ virtualenv -p /usr/bin/python2.7 venv    # -p參數指定Python解釋器程序路徑

  這將會使用 /usr/bin/python2.7 中的Python解釋器。

 

  1. 要開始使用虛擬環境,其需要被激活:
$ source venv/bin/activate   

從現在起,任何你使用pip安裝的包將會放在 venv 文件夾中,與全局安裝的Python隔絕開。

像平常一樣安裝包,比如:

$ pip install requests
  1. 如果你在虛擬環境中暫時完成了工作,則可以停用它:
$ . venv/bin/deactivate

這將會回到系統默認的Python解釋器,包括已安裝的庫也會回到默認的。

要刪除一個虛擬環境,只需刪除它的文件夾。(執行 rm -rf venv )。

這里virtualenv 有些不便,因為virtual的啟動、停止腳本都在特定文件夾,可能一段時間后,你可能會有很多個虛擬環境散落在系統各處,你可能忘記它們的名字或者位置。

 

 

 不過用anocoda會更好一些,省下單獨安裝Python的麻煩。

見annocoda的安裝手冊。


免責聲明!

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



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