1.安裝相應的編譯工具
在root用戶下(不要用普通用戶,麻煩),全部復制粘貼過去,一次性安裝即可.
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install -y libffi-devel zlib1g-dev
yum install zlib* -y
2.下載安裝包
wget wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tar.xz
3.解壓
tar -xvJf Python-3.7.2.tar.xz
4.創建編譯安裝目錄
mkdir /usr/local/python3
5.安裝
cd Python-3.7.2
./configure --prefix=/usr/local/python3 --enable-optimizations --with-ssl
#第一個指定安裝的路徑,不指定的話,安裝過程中可能軟件所需要的文件復制到其他不同目錄,刪除軟件很不方便,復制軟件也不方便.
#第二個可以提高python10%-20%代碼運行速度.
#第三個是為了安裝pip需要用到ssl,后面報錯會有提到.
make && make install
what-does-enable-optimizations-do-while-compiling-python
6.創建軟鏈接
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
7.驗證是否成功
python3 -V
pip3 -V
8.報錯處理
錯誤1.
zipimport.ZipImportError: can't decompress data; zlib not available Makefile:1099: recipe for target 'install' failed make: *** [install] Error 1
需要安裝依賴
yum -y install zlib1g-dev
錯誤2.
ModuleNotFoundError: No module named '_ctypes'
需要安裝依賴
yum -y install libffi-devel
這兩個錯誤需要的依賴已經添加到一開始的依賴安裝上去了
參考文章
9.安裝pipenv
在centos中使用python3.7或以上版本,進行pip install 命令容易報錯
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https:*******: There was a problem confirming the ssl certificate:
Can't connect to HTTPS URL because the SSL module is not available. - skipping
在./configure過程中,如果沒有加上–with-ssl參數時,默認安裝的軟件涉及到ssl的功能不可用,剛好pip3過程需要ssl模塊,而由於沒有指定,所以該功能不可用。解決辦法是重新對python3.6進行編譯安裝,用一下過程來實現編譯安裝:
cd Python-3.7.2
./configure --with-ssl
make && make install
即可正常使用pip安裝.
這個也在安裝python的時候指定了.
參考文章
10.修改pip安裝源
修改系統pip安裝源
在家目錄下新建.pip
文件夾,進入文件夾新建文件pip.conf
之后寫入相應鏡像網站地址
cd ~
mkdir .pip
cd .pip
vim pip.conf
#進入后添加以下內容,保存退出.
[global]
index-url = https://mirrors.aliyun.com/pypi/simple
修改pipenv安裝源
在自己的虛擬環境中找到Pipfile
文件,將其中的url = "https://pypi.org/simple"
修改為你需要的國內鏡像,如https://mirrors.aliyun.com/pypi/simple/
[root@localhost myproject]# vim Pipfile
[[source]]
name = "pypi"
url = "https://pypi.org/simple" # 改為url = "https://mirrors.aliyun.com/pypi/simple/"
verify_ssl = true
[dev-packages] #這里是開發環境專屬包,使用pipenv install --dev package來安裝專屬開發環境的包
[packages] # 全部環境的通用包,安裝在這里.
[requires]
python_version = "3.7"