1. 程式人生 > >簡單3步成功給Mac安裝指定Python版本和指定庫版本並且隨意切換版本,非常簡單,不行拿磚砸我

簡單3步成功給Mac安裝指定Python版本和指定庫版本並且隨意切換版本,非常簡單,不行拿磚砸我

Mac安裝Python真的頭疼,我前後鬥了一年。

Mac預設安裝2.7,我們平時2018年都用Python3了。

我按照網友的方法brew install python3,導致Python2和Python3一直攪在一起。

ST還是Python2,後來搞了幾周,才搞定Python3.但是心裡耿耿於懷啊

brew install python3只能安裝最新版本的Python,3.7導致沒有配套的tensorflow,當然各種其他東西都不合適,今天碰到別人的程式碼

是3.5的,我執行起來各種報錯,一狠心,想辦法從新裝回我最愛的3.5版本。

這裡的祕訣就是修改Python軟體版本的環境變數達到切換使用不同Python版本的目的。

Windows系統也可以使用這個原則很方便的切換Python,根本沒必要搞Python2,Python3,麻煩死了。

在Mac上配置環境變數時經常要建立、編輯 .bash_profile檔案。 普通人根本不知道這個.bash_profile是什麼鬼,很多部落格直接說修改這裡面的檔案,不告訴小白怎麼修改,我從一個小白的角度講解怎麼切換Mac系統下的Python版本。

1

官網下載自己喜歡的版本 Python

2

安裝Python到預設路徑

3

修改profile檔案,開啟你的終端terminal,輸入:
 

open ~/.bash_profile

這行程式碼就是開啟bash_profile的意思,我開啟後是空的,bash_profile就像一個小編輯器一樣,和終端是兩個東西

自動彈出bash_profile編輯器

4

在bash_profile裡面寫入內容,不是終端terminal裡哈,把現有的關於其他Python版本的都遮蔽掉。

注意切換自己下載的Python版本路徑。我的bash裡面最後只有下面的東西了,因為本來就是空的

PATH="/Library/Frameworks/Python.framework/Versions/3.5/bin:${PATH}"
export PATH
alias python="/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5"

檢視Python路徑辦法

appledeMBP:~ apple$ which python2.7
/usr/local/bin/python2.7

檢視Python3.5的路徑

appledeMBP:~ apple$ which python3.5
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
appledeMBP:~ apple$ which python3.7
/usr/local/bin/python3.7
appledeMBP:~ apple$ 

5

儲存bash_profile方法:

直接關閉bash_profile,轉到terminal裡面寫入,就更新了bash_profile裡面的東西

source .bash_profile

6

Python版本切換,把bash_profile裡面的關於Python3.5的遮蔽掉,換成你想要的版本,儲存就行。

7

驗證是否安裝成功

終端輸入Python,顯示

appledeMBP:~ apple$ python
Python 3.5.1 (v3.5.1:37a07cee5969, Dec  5 2015, 21:12:44) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

看來真的搞定了,別提有多開心了,很多5萬閱讀量的部落格太麻煩,

8

檢視有啥庫

關閉終端,從新輸入pip list

真的成功了,折磨了我一年多,是塊心病,因為我不得不一直使用最新版本的Python,一路花大把時間解決新版本軟體的bug,以後再也不用做小白鼠了

Last login: Wed Nov  7 12:56:47 on ttys000
appledeMBP:~ apple$ pip list
Package           Version  
----------------- ---------
absl-py           0.4.0    
asn1crypto        0.24.0   
astor             0.7.1    
backports.weakref 1.0.post1
certifi           2018.8.13
cffi              1.11.5   
chardet           3.0.4    
cryptography      2.3.1    
cssselect         1.0.3    
enum34            1.1.6    
funcsigs          1.0.2    
futures           3.2.0    
gast              0.2.0    
grpcio            1.14.1   
idna              2.7      
ipaddress         1.0.22   
lxml              4.2.4    
Markdown          2.6.11   
mock              2.0.0    
numpy             1.14.5   
pbr               4.2.0    
pip               18.0     
protobuf          3.6.1    
pycparser         2.18     
PyMySQL           0.9.2    
pyquery           1.4.0    
requests          2.19.1   
setuptools        39.1.0   
six               1.11.0   
tensorboard       1.10.0   
tensorflow        1.10.0   
termcolor         1.1.0    
urllib3           1.23     
virtualenv        16.0.0   
Werkzeug          0.14.1   
wheel             0.31.1   
appledeMBP:~ apple$ 

9

解決pip給指定Python版本安裝庫問題

很多人pip後根本不知道庫到底給了哪個Python版本

上面的pip命令預設是Python2的,也就是我們以後pip下載庫直接給了Python2,不是我們的Python3.草

pip3無法安裝庫

Last login: Wed Nov  7 18:48:55 on ttys000
appledeMBP:~ apple$ pip --version
pip 18.0 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)
appledeMBP:~ apple$ pip3 --version
pip 7.1.2 from /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages (python 3.5)
appledeMBP:~ apple$ pip3

appledeMBP:~ apple$ pip3 install xgboost
Collecting xgboost
  Could not find a version that satisfies the requirement xgboost (from versions: )
No matching distribution found for xgboost
appledeMBP:~ apple$ pip3 install numpy
Collecting numpy
  Could not find a version that satisfies the requirement numpy (from versions: )
No matching distribution found for numpy
appledeMBP:~ apple$ 

解決:終端輸入:

curl https://bootstrap.pypa.io/get-pip.py | python3

再看看pip版本:

appledeMBP:~ apple$ pip --version
pip 18.0 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)
appledeMBP:~ apple$ pip3 --version
pip 18.1 from /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip (python 3.5)
appledeMBP:~ apple$ 

這就對了,以後下載庫就用pip 給Python2下載,pip3就給Python3下載

下面是我的Python路徑和版本




#檢視當前所有Python版本路徑
appledeMBP:~ apple$ which python2.7
/usr/local/bin/python2.7
appledeMBP:~ apple$ which python3.5
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5
appledeMBP:~ apple$ which python3.7
/usr/local/bin/python3.7
appledeMBP:~ apple$ which python
/usr/local/bin/python
appledeMBP:~ apple$ which python3
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
appledeMBP:~ apple$ which python2
/usr/local/bin/python2
appledeMBP:~ apple$ 



Last login: Thu Nov  8 09:45:03 on ttys000
appledeMBP:~ apple$ which pip
/Library/Frameworks/Python.framework/Versions/3.5/bin/pip
appledeMBP:~ apple$ which pip2
/usr/local/bin/pip2
appledeMBP:~ apple$ which pip3
/Library/Frameworks/Python.framework/Versions/3.5/bin/pip3
appledeMBP:~ apple$ which pip3.5
/Library/Frameworks/Python.framework/Versions/3.5/bin/pip3.5
appledeMBP:~ apple$ which pip3.7
/usr/local/bin/pip3.7
appledeMBP:~ apple$ which pip2.7
/usr/local/bin/pip2.7
appledeMBP:~ apple$ 


 
 
 
 
 
下面的隨意看看就行,都是舊版本了
 
 
#檢視當前Python版本
appledeMBP:~ apple$ python --version
Python 3.5.1
檢視Python路徑
appledeMBP:~ apple$ which python
/usr/local/bin/python
檢視全部Python路徑
appledeMBP:~ apple$ echo $PATH
/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public
檢視Python3路徑
appledeMBP:~ apple$ which python3
/Library/Frameworks/Python.framework/Versions/3.5/bin/python3
appledeMBP:~ apple$ 
檢視pip2版本
appledeMBP:~ apple$ pip2 --version
pip 18.0 from /usr/local/lib/python2.7/site-packages/pip (python 2.7)
檢視pip3版本
appledeMBP:~ apple$ pip3 --version
pip 18.1 from /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/pip (python 3.5)
檢視python版本
appledeMBP:~ apple$ python --version
Python 3.5.1
檢視Python3版本
appledeMBP:~ apple$ python3 --version
Python 3.5.1
appledeMBP:~ apple$ 

搞完這些我偶然發現了更好的辦法搞定pip呀,透露一下

路徑

/usr/local/bin/pip3.5

通過以上圖片我總結了下面的方法

看這裡

pip給指定Python版本安裝指定版本庫的辦法

既然pip都隨意安裝了,有沒有更好的隨意切換Python版本的工具呢?

有,看我的這個連結,同樣是從上面圖片得到啟發。

我覺得用了下面方法,上面的切換Python版本方法都可以不用做了。

Mac給Sublime Text 配置Python3開發環境

最後我的電腦裡有

Python2.7:系統自帶

Python3.5:官網下載

Python3.7:brew install python3得到

認識你是我們的緣分,同學,等等,學習人工智慧,記得關注我。

微信掃一掃
關注該公眾號

《灣區人工智慧》

下面是我平時程式設計切換Python版本的方法,1秒搞定

有人問為啥要不停切換版本,因為同一段程式碼不同版本跑起來錯誤地方不同,有些直接不報錯呀

2.7錯誤

SyntaxError: Non-ASCII character '\xe7

3.5錯誤

Traceback (most recent call last):
  File "/Users/apple/Documents/ST/python/Python\u722c\u866b/\u722c\u866btest.py", line 66, in <module>
    print('{}\u5f00\u53d1\u804c\u4f4d\uff0c\u62db\u8058\u4fe1\u606f\u603b\u5171{}\u6761.....'.format(kind, total))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-16: ordinal not in range(128)
[Finished in 1.0s]

3.7不報錯

我是參考下面的文章搞得,第一種方法太複雜

我最喜歡第三種方法,保持Python2和3,隨意切換,非常簡單

1

Mac使用HomeBrew安裝Python3.*並設為預設版本

2

Mac 下將 Python2升級到 Python3

3

【Python】Mac 升級python2.7 到 3.7