1. 程式人生 > >Linux Centos7-安裝python3.5.2 pip setuptools

Linux Centos7-安裝python3.5.2 pip setuptools

前言:
這個東西折騰了我差不多一天,所以就寫一個記錄吧。
今天弄了這麼久沒有弄好的最主要原因:在python的官網上找不到setuptools,pip的下載地址,我到現在都
還沒有找到在哪裡,有知道的道友教教我。

好吧,下面就不bb了,開始上搞起來。
環境:
- centos 7 Linux系統
- Xshell 遠端連線工具

我本來是比較喜歡使用windows下載原始碼檔案,然後使用WinScp上傳到伺服器,因為我使用的是公司的伺服器,嘿嘿。但是就如前言所說一樣,setuptools,pip都找不到下載地址。讓我很鬱悶,都不知道python到底把他藏在哪裡了。

那麼現在我們先開始安裝python3.5.2吧。

Linux的基礎命令我就不說了,無外乎就是cp,mv,rm,tar。。。。

由於我使用的是Centos,所以可以使用yum源的,不是該系統的童鞋就自己解決安裝依賴的一些問題哦。

在安裝過程中將會遇到很多的依賴問題?
我就在遇到的時候解決。
因為yum好就在解決了依賴問題,但是我強烈建議使用yum安裝的同時,不要安裝那種需要自己解除安裝的功能軟體。比如mysql,docker,gitlab,nginx。。。。。
因為不方便管理。

原始碼編譯就可以指定位置,很方便。

安裝python3.5.2

python

  1. 當然是上傳到linux伺服器了。
    • 解壓該檔案Python-3.5.2.tgz
      tar -zxvf Python-3.5.2.tgz—>Python-3.5.2得到該檔案
    • 進入該目錄cd Python-3.5.2
    • ./configure –prefix=/usr/local/python 使用該命令生成Makefile檔案,並且指定檔案的目錄
    • make & make install 編譯原始檔,但是到這裡將會出錯,需要gcc環境,因為需要編譯c原始碼嘛。
      那麼就只能安裝gcc咯。
      yum install -y gcc-c++等待片刻即可。
    • 再次執行make & make install就可以安裝完成。

image.png
可以看到完成之後我在這裡生成了該Python的目錄,如果我需要刪除python3.5.2,我只需要刪除該檔案即可。linux系統中絕對沒有殘留檔案存在。
python包含的檔案:
bin —>我們只需要關心這個就可以了,目前來說。
include
lib
share

設定軟連線:目的是讓我們直接在任何地方輸入python3.5命令都可以得到python直譯器的執行。

連線的位置當然放置到/usr/bin目錄下,該目錄都是可執行檔案的連線檔案,基本哈。
進入到bin目錄:cd bin
ln -s /usr/local/python/bin/python3 /usr/bin/python3.5
這樣就可以在/usr/bin中生成一個python3.5的連線檔案。

image.png
這樣就生成了連線檔案,我們在任何地方輸入python3.5都可以執行。

image.png
看到了版本資訊,而且位置還是在Python的安裝目錄下。但是使用的確是python3.5執行的。

到現在就完整的安裝了Python3.5.2,簡單吧。

下面進行安裝pip了,這個就是個麻煩事兒。

安裝setuptools

申明一點,下面的兩個下載地址都是我在網上找的別人的,我自己都還沒有發現python.org的下載地址在哪裡。鬱悶的很。

在這裡我們將會使用wget下載命令,那麼我們沒有這個命令的話就先安裝該命令就可以了。
yum -y install wget即可
- 下載setuptools壓縮包
- 解壓壓縮包
- 進入該目錄進行編譯安裝

1. 下載setuptools  wget --no-check-certificate  https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26

2. 解壓該檔案 tar zxvf setuptools-19.6.tar.gz

3.進入該目錄 cd setuptools-19.6

4. 編譯安裝
 python3.5 setup.py build  
在這裡失敗,提示說需要zlib-devel依賴,RuntimeError: Compression requires the (missing) zlib module

好吧,那就繼續安裝這個依賴即可,yum在手,天下我有,有木有。
yum install -y zlib-devel

但是現在不能直接執行上一條編譯命令,因為這個zlib其實是針對python的,所以我們需要對python再進行一次編譯和安裝命令。
就是上文中所使用的make&make install即可。

ok,完事兒之後在執行
 python3.5 setup.py build   無報錯資訊
繼續執行
python3.5 setup.py install  搞完。

那麼到現在python setuptools搞定了,接下來就是pip了,步驟差不多哦。

安裝pip

  • 下載pip壓縮包
  • 解壓壓縮包
  • 進入該目錄進行編譯安裝
1. 同樣的下載檔案 wget --no-check-certificate  https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb

2. 解壓檔案  tar zxvf pip-8.0.2.tar.gz

3. 進入該目錄 cd pip-8.0.2 

4. 同樣執行:
  python3.5 setup.py build
  python3.5 setup.py install

沒有提示錯誤,那麼就安裝成功了。

安裝好了之後會在我們的python目錄中成成該執行檔案的。
Adding pip 8.0.2 to easy-install.pth file
Installing pip3.5 script to /usr/local/python/bin
Installing pip3 script to /usr/local/python/bin
Installing pip script to /usr/local/python/bin

這個就是安裝是的提示,給我們說的很清楚,說將pip3安裝到了/usr/local/python/bin目錄中

對於我此時的目錄就是:
  /usr/local/python/bin

那麼我們也是搞一個軟連線吧,這樣我們就可以直接使用這個東東了啊。
ln -s /usr/bin/pip3 /usr/local/python/bin/pip3.5
搞定:見下圖

image.png

ok,進行了如上的啪啦啪啦的一大堆廢話和動作之後,我們就要開始

測試使用pip安裝模組

  1. 啟動Python3.5的直譯器
  2. 鍵入import numpy
    絕逼妥妥的報錯,因為該系統上從來沒有安裝過了。那麼我們下面就來搞一搞。
    • pip3.5 install pymysql 試試MySQL的,哦豁,又報錯求咯。
      ImportError: cannot import name ‘HTTPSHandler’
      提示我們缺少http網路的東西。其實這個是linux的請求網路的問題。需要我們安裝openssl,命令如下:
yum install openssl
yum install -y openssl-devel

安裝完成之後,我們再次:
pip3.5 install pymysql
ok,妥妥的。

安裝pymysql

Python 匯入pymysql

到現在為止:
在Centos 7 上面搭建python3.5.2 pip3.5等操作全部完成。完全就可以在上面搞各種python程式了哦。

pip簡單命令:

  • pip3.5 -V 檢視版本
    • pip3.5 list 檢視安裝了模組,但是命令提示需要升級,因為當前版本是8.0.0,目前最新的是9.0.1
You are using pip version 8.0.2, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
升級命令都說了哦,直接鍵入就可以了:
pip3.5 install --upgrade pip
  • pip3.5 freeze 檢視版本

  • pip3.5 install 模組名 安裝磨礦

  • pip3.5 uninstall 模組名 解除安裝已安裝的模組

總結

  1. 我覺得最失敗的就是在python.org官網上面沒有找到下載setuptools,pip的下載地址。我覺得是最大的敗筆。
  2. 需要熟悉Linux的童鞋才能更好的玩轉。
  3. 在安裝過程中,儘量的使用原始碼安裝。除了系統級的軟體外哈。
  4. 我不是搞python的,但是我希望看到這邊文章的童鞋都好好的學習linux,因為Python在linux上更能顯示出它的魅力。別TM問我為什麼這麼說,我就是想這麼說。ok,到此結束。

對了,在上文中可能有的同學發現,我的xshell有時候是黑色,到了下面的截圖中又是白色了。原因很簡單,上面的是我快下班了用公司的xshell,下面白色的是我自己家裡的筆記本設定的了。
今天開了差不多一下午的會。人都快傻逼了。討厭公司開會。