最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux下多個Python版本安裝教程

 更新時間:2018年08月15日 15:12:25   作者:鐵樂貓  
這篇文章主要為大家詳細介紹了Linux下多個Python版本的安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下

因為環(huán)境或?qū)W習(xí)的需要,我們可能需要在服務(wù)器上安裝多個python版本,安裝一個更新的python版本后,使用軟鏈來進行共存。

這個時候需要進行源碼編譯安裝。

當然后續(xù)開發(fā)項目可以直接跑在虛擬環(huán)境下隔離開來,就不再需要在服務(wù)器上安裝多個不同版本的包了。

下載Python源碼

http://www.python.org/download/根據(jù)需要的版本下載源文件。

例如上圖就是我在官網(wǎng)直接找到3.5.6版本的下載頁面,點擊的tar源碼包進行下載。

編譯安裝

補充

注意編譯安裝python前最好先保證系統(tǒng)己安裝上以下庫

yum install zlib
yum install zlib-devel
yum install openssl
yum install openssl-devel
yum install readline-devel

解壓源碼包

tar zxvf Python-3.5.6.tgz
cd Python-3.5.6

配置選項

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

進行編譯安裝

sudo make
sudo make install

修改Python軟鏈

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

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

重新命名默認python軟鏈接為python2.7以便3.5的版本成為默認環(huán)境變量

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

補充

注意 如無特別需要,推薦命名成不同python的軟鏈接,因為你會發(fā)覺要是你直接改了原來指向舊版本的軟鏈接的話,pip,virtualenv等依賴原版本python的工具需要改它的py文件頭的環(huán)境變量。

如果你修改了原軟鏈接,使得python實際指向的是新版本的python的話,pip等仍依賴舊版本的工具要么重裝要么修改它py文件的首行,按實際情況重新指向你的舊版本原版本的python環(huán)境,例如此處我就可直接改成/usr/bin/python2

虛擬環(huán)境設(shè)置不同版本的python

創(chuàng)建好項目目錄,cd進到目錄下。

在創(chuàng)建python虛擬環(huán)境時,可以指定虛擬環(huán)境要使用的python版本,例如下命令(使用-p參數(shù)指明python解釋器的路徑):

 -p PYTHON_EXE, --python=PYTHON_EXE
 The Python interpreter to use, e.g.,
 --python=python3.5 will use the python3.5 interpreter
 to create the new environment. The default is the
 interpreter that virtualenv was installed with
 (/usr/bin/python)

例:

virtualenv -p /usr/bin/python2 ENV2.7 #創(chuàng)建python2.7的虛擬環(huán)境
virtualenv -p /usr/bin/python3 ENV3.5 #創(chuàng)建python3.5的虛擬環(huán)境
virtualenv --python=python3 my-env #創(chuàng)建python3.5的虛擬環(huán)境

之所以裝多個版本的python,有一個原因很重要,也就是想要使用virtualenv創(chuàng)建隔離的虛擬環(huán)境的時候指定不同python版本。但是前面我進行編譯安裝的時候沒有指定編譯安裝上zlib庫,就會出現(xiàn)以下如圖問題:

報找不到zlib模塊錯誤。

所以最好還是系統(tǒng)原環(huán)境變量安裝成高版本的python,或進行python編譯安裝的時候記得加上--with-zlib。
最好--with-zlib-develreadline也帶上。

當然,補救辦法也是有的,就是重新進行編譯安裝。
(重新進行本文最開始的操作,當然本文最開始筆者己經(jīng)補充更正過了編譯安裝時的配置。)

筆者由于重新編譯后仍然報zlib模塊錯誤,筆者并不想弄污原來python2.7的環(huán)境,所以決定嘗試virtualenv下載源碼來使用,而zlib也進行編譯安裝來讓python3也能正常導(dǎo)入zlib模塊。

下載zlib模塊并進行編譯安裝

官網(wǎng)http://www.zlib.net/下載最新版本的zlib源碼文件,我下載的是zlib-1.2.11.tar.gz

安裝zlib:

tar xzvf zlib-1.2.11.tar.gz
cd zlib-1.2.11

建議默認路徑安裝,編譯三部曲:

./configure
make
make install

python導(dǎo)入zlib

如下圖,編譯安裝完成zlib后,進python3測試己經(jīng)可能正常導(dǎo)入zlib包。

zlib安裝完后,libz.a/usr/local/lib/,opensusezlib.h默認放在/usr/local/include/中。
其它linux的zlib.h文件一般在/usr/include中。

重新編譯python并指定zlib

如果還發(fā)生少數(shù)導(dǎo)入不成功,或你想直接軟鏈接升級python舊版本的,可能需要重新編譯python。

進入Python源碼文件目錄,重新編譯Python

sudo ./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib=/usr/include

或者:

./configure --enable-optimizations --prefix=/usr/local/python-3.5.6 --with-zlib-dir=/usr/local/lib

都可以完成python對zlib庫的支持,在python源碼中直接import zlib即可使用zlib了。

下載virtualenv源碼包

直接到pypi下載16.0.0版本。
tar命令進行解壓

tar xvfz virtualenv-16.0.0.tar.gz
cd virtualenv-16.0.0

此目錄下文件如下,我們主要用到的并不是setup安裝,而是直接使用它的virtualenv.py文件。

virtualenv創(chuàng)建虛擬環(huán)境

在項目目錄下直接指定python版本及virtualenv.py的絕對路徑進行創(chuàng)建虛擬環(huán)境:

sudo python3 /home/operation/virtualenv-16.0.0/virtualenv.py py3

可以不進行全局安裝,而是用戶下進行虛擬化環(huán)境可以直接使用python3 后接virtualenv.py運行,完美解決需求。

也可以使用原python2下的全局virtualenv來執(zhí)行,一樣可以創(chuàng)建,如:

operation@opensuse-wordpress:/work> sudo virtualenv --python=python3 my_py3_env
[sudo] password for root: 
Running virtualenv with interpreter /usr/bin/python3
Using base prefix '/usr/local/python-3.5.6'
New python executable in /work/my_py3_env/bin/python3
Also creating executable in /work/my_py3_env/bin/python
Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
Installing setuptools, pip, wheel...done.

虛擬隔離環(huán)境目錄如下:

具體virtualenv的使用命令等見相關(guān)文章,在此就不再詳述。
如此,在liunx下己經(jīng)可以實現(xiàn)多版本的python完美共存。

更多關(guān)于python安裝教程的文章請參考《python各版本安裝教程》

更多精彩書單,請點擊python編程必備書單

領(lǐng)取干貨:零基礎(chǔ)入門學(xué)習(xí)python視頻教程

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Python中高階函數(shù)(map,filter,reduce,sorted)的使用

    詳解Python中高階函數(shù)(map,filter,reduce,sorted)的使用

    高階函數(shù)就是能夠把函數(shù)當成參數(shù)傳遞的函數(shù)就是高階函數(shù),換句話說如果一個函數(shù)的參數(shù)是函數(shù),那么這個函數(shù)就是一個高階函數(shù)。本文為大家詳細講解了Python中常用的四個高階函數(shù),感興趣的可以了解一下
    2022-04-04
  • Python3.6+selenium2.53.6自動化測試_讀取excel文件的方法

    Python3.6+selenium2.53.6自動化測試_讀取excel文件的方法

    這篇文章主要介紹了Python3.6+selenium2.53.6自動化測試_讀取excel文件的方法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-09-09
  • python通過cmd創(chuàng)建虛擬環(huán)境的實現(xiàn)(pip方式)

    python通過cmd創(chuàng)建虛擬環(huán)境的實現(xiàn)(pip方式)

    Python的虛擬環(huán)境是正常的現(xiàn)實環(huán)境相對應(yīng)的,在虛擬環(huán)境中安裝的包是與現(xiàn)實環(huán)境隔離的,本文主要介紹了python通過cmd創(chuàng)建虛擬環(huán)境的實現(xiàn),感興趣的可以了解一下
    2023-11-11
  • Python turtle庫繪制菱形的3種方式小結(jié)

    Python turtle庫繪制菱形的3種方式小結(jié)

    今天小編就為大家分享一篇Python turtle庫繪制菱形的3種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 深入理解Python爬蟲代理池服務(wù)

    深入理解Python爬蟲代理池服務(wù)

    這篇文章主要介紹了Python爬蟲代理池服務(wù)的相關(guān)知識,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2018-02-02
  • 如何使用?profile?進行python代碼性能分析

    如何使用?profile?進行python代碼性能分析

    對代碼優(yōu)化的前提是需要了解性能瓶頸在什么地方,程序運行的主要時間是消耗在哪里,對于比較復(fù)雜的代碼可以借助一些工具來定位,python?內(nèi)置了豐富的性能分析工具,本文介紹如何使用profile進行python代碼性能分析,感興趣的朋友一起看看吧
    2024-12-12
  • 淺談tensorflow 中的圖片讀取和裁剪方式

    淺談tensorflow 中的圖片讀取和裁剪方式

    這篇文章主要介紹了淺談tensorflow 中的圖片讀取和裁剪方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 利用Python?實現(xiàn)圖片轉(zhuǎn)字符畫

    利用Python?實現(xiàn)圖片轉(zhuǎn)字符畫

    這篇文章主要介紹了利用Python?實現(xiàn)圖片轉(zhuǎn)字符畫,要將圖片轉(zhuǎn)字符畫,需要先定義一個字符集,用來和灰度值做映射,將圖片每個像素的?RGB?值轉(zhuǎn)換為一個灰度值,將其對應(yīng)的字符輸出就得到字符畫
    2022-06-06
  • Python多線程編程(五):死鎖的形成

    Python多線程編程(五):死鎖的形成

    這篇文章主要介紹了Python多線程編程(五):死鎖的形成,本文講解了死鎖的概念、死鎖示例、避免死鎖的方法等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • 利用Python計算圓周率π的實例代碼

    利用Python計算圓周率π的實例代碼

    圓周率沒有精確的計算公式,所以只能用近似的方式計算它的近似值。這篇文章主要介紹了利用Python計算圓周率π的相關(guān)資料,需要的朋友可以參考下
    2021-05-05

最新評論

盐城市| 莱芜市| 桂阳县| 论坛| 石狮市| 商都县| 荣成市| 沅陵县| 来宾市| 名山县| 红河县| 罗江县| 仙游县| 永吉县| 酉阳| 福清市| 遂川县| 桦甸市| 武山县| 三亚市| 右玉县| 开远市| 宁化县| 刚察县| 崇阳县| 屏东县| 潢川县| 赣州市| 景洪市| 建昌县| 富宁县| 江华| 南召县| 大庆市| 分宜县| 通江县| 卓尼县| 五家渠市| 揭东县| 买车| 通化市|