在操作系統為Redhat 7.4的服務器上的一次Python 3.8.2的安裝
1)首先搞明白操作系統自帶的python的安裝路徑:whereis python,可以看到初始的路徑在/usr/bin/python。
cd /usr/bin; ll | grep python,python作為符號鏈接,指向python2,而python2又指向python2.7
我們安裝python3,指向python3.8,這樣系統自帶的python與自己安裝的python3就可以共存了
2)安裝依賴
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 libffi-devel
最后一個包libffi-devel沒有的話,import模塊時候會報錯:ModuleNotFoundError: No module named '_ctypes'
3)源碼安裝,開源代碼安裝的經典步驟
./configure --prefix=/usr/local/python3
make && make install
4)添加軟鏈接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3 這樣的話,在命令行敲python對應的就是默認的python2.7.5,敲python3對應的就是剛剛安裝的python3.8.2,還需要把/usr/local/python3/bin添加到環境變量中
5)pip的使用
配置文件在~/.pip/pip.conf,比如下面的配置文件
[global]
index-url = http://pypi.douban.com/simple #豆瓣源,可以換成其他的源
trusted-host = pypi.douban.com #添加豆瓣源為可信主機,要不然可能報錯
disable-pip-version-check = true #取消pip版本檢查,排除每次都報最新的pip
timeout = 120
在不同的python環境下,安裝模塊,例如
python -m pip install pandas對應也可以用pip install pandas
python3 -m pip install pandas對應也可以用pip3 install pandas
還有,比如你在python2的環境下安裝pip install flask,切換到python3,用import flask,會報錯ModuleNotFoundError: No module named 'flask'
需要你在python3下執行python3 -m pip install flask,然后在python3才可用
在兩個不同的環境下import的模塊互不影響,也並無關系