1. 程式人生 > >Windows上Python2和3兼容問題

Windows上Python2和3兼容問題

編碼 麻煩 ip命令 比較 exe python版本 windows odi 文件的

python2和3一起裝在windows中,pip裝包會出現問題,python社區給出了以下解決方案。

我們在安裝Python3(>=3.3)時,Python的安裝包實際上在系統中安裝了一個啟動器py.exe,默認放置在文件夾C:\Windows\下面。這個啟動器允許我們指定使用Python2還是Python3來運行代碼(當然前提是你已經成功安裝了Python2和Python3)。 如果你有一個Python文件叫 hello.py,那麽你可以這樣用Python2運行它py -2 hello.py類似的,如果你想用Python3運行它,就這樣py -3 hello.py去掉參數 -2/-3每次運行都要加入參數-2/-3還是比較麻煩,所以py.exe這個啟動器允許你在代碼中加入說明,表明這個文件應該是由python2解釋運行,還是由python3解釋運行。說明的方法是在代碼文件的最開始加入一行#! /usr/bin/env python2或者#! /usr/bin/env python3分別表示該代碼文件使用Python2或者Python3解釋運行。這樣,運行的時候你的命令就可以簡化為py hello.py 使用pip,當Python2和Python3同時存在於windows上時,它們對應的pip都叫pip.exe,所以不能夠直接使用 pip install 命令來安裝軟件包。而是要使用啟動器py.exe來指定pip的版本。命令如下:py -2 -m pip install XXXX-2 還是表示使用 Python2,-m pip 表示運行 pip 模塊,也就是運行pip命令了。如果是為Python3安裝軟件,那麽命令類似的變成py -3 -m pip install XXXX,python2和2的路徑加入到環境變量中去 #! /usr/bin/env python2 和 # -*- coding: utf-8 -*- 哪個寫在前面?對於Python2用戶還有另外一個困惑,Python2要在代碼文件頂部增加一行說明,才能夠在代碼中使用中文。如果指明使用的Python版本也需要在文件頂部增加一行,那哪一行應該放在第一行呢?#! python2 需要放在第一行,編碼說明可以放在第二行。所以文件開頭應該類似於: #! /usr/bin/env python2
# -*- coding: utf-8 -*-

Windows上Python2和3兼容問題