1. 程式人生 > >Windows中Python 2.7和Python 3.5相容性問題及對應pip使用方法

Windows中Python 2.7和Python 3.5相容性問題及對應pip使用方法

Python 2和Python 3的同時使用

有很多人想學習Python3,但是暫時又離不開Python2,所以他們在Windows作業系統上同時安裝了Python 2和Python 3,但是在CMD.exe上面執行”python *.py”的時候只能執行其中的Python 2或者Python 3其中一種操作,那如何才能讓它們共存,方便在兩者之間切換呢?

目前,國內網站經常會讓大家把其中一個python.exe改個名字以區分開兩個可執行檔案的名字。然而,上述操作會有一個重大的隱患,就是修改了名字的那個python對應的pip將無法正常使用。

官方的解法是什麼?事實上這個問題幾年以前Python社群就給出了官方解決方案,只不過國內一直沒有注意到罷了。

1. 執行 py -X *.py
我們在安裝Python 3(>=3.3)時,Python的安裝包實際上在系統中安裝了一個啟動器py.exe,預設放置在資料夾C:\Windows\下面。這個啟動器允許我們指定使用Python 2還是Python 3來執行程式碼(當然前提是你已經成功安裝了Python 2和Python 3)。

舉個實際的例子:
如果你有一個Python檔案叫 hello.py,那麼你想用Python 2執行它,可以執行

py -2 hello.py

類似的,如果你想用Python3執行它,可以執行

py -3 hello.py

2. 去掉引數 -2 / -3,執行 py *.py


每次執行都要加入引數-2 / -3還是比較麻煩,所以py.exe這個啟動器允許在程式碼中加入說明以表明這個檔案應該是由python 2解釋執行,還是由python 3解釋執行。

說明的方法: 在程式碼檔案的最開始加入下面其中一項即可表示該程式碼檔案使用Python 2或者Python 3解釋執行。

#! python2

或者

#! python3

因此,執行Python 程式時候命令可以簡化為

py hello.py

使用pip

當Python2和Python3同時存在於windows上時,它們對應的pip都叫pip.exe,所以不能夠直接使用 pip install 命令來安裝軟體包。而是要使用啟動器py.exe來指定pip的版本。
Python 2 pip install 安裝軟體

命令如下:

py -2 -m pip install XXXX

其中,py -2 表示使用 Python2,-m pip 表示執行 pip 模組,即執行pip命令

以安裝python 2.7的scipy模組為例

py -2 -m pip install "scipy-0.18.1-cp27-cp27m-win_amd64.whl"

Python 3 pip install 安裝軟體命令如下:

py -3 -m pip install XXXX

其中,py -3 表示使用 Python3,-m pip 表示執行 pip 模組,即執行pip命令

以安裝python 3.5的scipy模組為例

py -3 -m pip install "scipy‑0.18.1‑cp35‑cp35m‑win_amd64.whl"

#! python2 和 # coding: utf-8 哪個寫在前面?

對於Python2使用者還有另外一個困惑,Python2要在程式碼檔案頂部增加一行說明,才能夠在程式碼中使用中文。如果指明使用的Python版本也需要在檔案頂部增加一行,那哪一行應該放在第一行呢?

! python2 需要放在第一行,編碼說明可以放在第二行。所以檔案開頭應該類似於:

#! python2
# coding: utf-8

相關推薦

WindowsPython 2.7Python 3.5相容性問題對應pip使用方法

Python 2和Python 3的同時使用 有很多人想學習Python3,但是暫時又離不開Python2,所以他們在Windows作業系統上同時安裝了Python 2和Python 3,但是在CMD.exe上面執行”python *.py”的時候只能執行

linux上python 2.7 升級為 3.5

1.下載python3.5.2的包 wegt https//www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz 2.解壓包 tar -zxvf Python-3.5.2.tgz 3.執行./configure cd Python-3.

windows 10 python 2.7python3.6共存解決方法pip安裝

這樣的 num tool python2.x script tro 判斷 解決方法 自動化 一、首先去python官網將兩個版本下載並安裝; 然後進入windows的環境變量,檢查下面4個變量: 1.C:\Python272.C:\Python27\Scripts3.D:\

Mac 下升級python 2.7python 3.6

一、前言 mac 系統自帶python 2.7本文目的將python 2.7升級到python 3.6 網上有部分文章建議,兩個版本共存,博主並不知道版本共存好用,還是升級之後好用,所以讀者們慎選 二、去官網下載最新的安裝包 官網 選擇最新的版本下載,會有Mac OSC 和Wi

Python 2.7版本與3.6的不同

許多Python初學者都會問:我應該學習哪個版本的Python。對於這個問題,我的回答通常是“先選擇一個最適合你的Python教程,教程中使用哪個版本的Python,你就用那個版本。等學得差不多了,再來研究不同版本之間的差別”。 許多Python初學者都會問:我應該學習哪

mac Python 2.7 升級到3.6.5

下載pkg版本,並安裝。安裝選預設路徑,會安裝到/Library/Frameworks/Python.framework/Versions/目錄下刪除python2.7sudo rm -R /System/Library/Frameworks/Python.framework

Python 2.xPython 3.x版本區別

摘自《Python快速程式設計入門》 黑馬程式設計師編著 和Python 2.x版本相比,Python 3.x版本在語句輸出、編碼、運算和異常等方面做出了一些調整。 print函式代替了print語句 在Python 2.x中,輸出語句使用的是prin

windows平臺使用Microsoft Visual C++ Compiler for Python 2.7編譯python擴充套件

在windows平臺上安裝python c extension的擴充套件包是件很痛苦的事情,一般通過安裝vc/vs系列來編譯C擴充套件,不過安裝包都比較大。或者通過mingw編譯,不過有時會在相容性上出現點問題。 有個好訊息就是微軟為Python提供了專用的編譯器Microsoft Visual

Python 2.7NLTK安裝教程

安裝。安裝時會出現以下錯誤:Python version 2.7 required, which was not found in the registry。解決辦法:(1)新建一個register.py檔案,把以下程式碼貼上進去,儲存到D盤。# # script to register Python 2.0

Mac OSX 正確地同時安裝Python 2.7 Python3

Python3出來了(其實已經出來很久了,暈)! 但是還是有很多library還是使用Python2.7,所以要怎麼在Mac裡面同時裝這兩個版本,並且和系統所使用的Python區分開來呢?今天要寫的是如何第一次就正確安裝好,並且切換預設版本,不在誤用系統的Python。 主要就這幾個步驟而已,不會太困難

python2.7升級到3.5 需要主要的問題

今天鼓足勇氣把我們python從2.7升級到3.5.我用的是pycharm開發工具.升級過程遇到一些問題小結下: 1.右擊專案: 找到左側 project interpreter選項,配置專案開發環境3.5. 2.原來:print ‘hello’ 升級後要修改: pr

CentOS 6.9編譯安裝Python-2.7.14(python升級)

參考 Python官網: https://www.python.org/ 阿里雲 https://www.aliyun.com/jiaocheng/517192.html &nb

centos 6.9 升級python 2.6.6 至 3.5.0

1、下載python3.5 wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz 解壓 tar zxvf Python-3.5.0.tgz 進入目錄 cd Python-3.5.0 配置 ./c

iOS-AFNetworking 2.0 AFNetworking 3.0 區別具體用法

在AFNetworking 3.0之前,底層是通過封裝NSURLConnection來實現的。 在AFNetworking 3.0之後,也就是在iOS 9.0 之後,NSURLConnection被棄用,蘋果推薦使用NSURLSession來管理網路請求,所

Python 2.7.x 3.x 版本區別小結

pythonpython現在很火,最近花了些時間去了解了一下,最初了解的是2.7.x版本,感覺,從書寫上是很不習慣,少了一雙大概號,取而代之的是縮進;然後跟kotlin和swift一樣省去了每行的分號,象我們這種分號強迫癥的人真心的不習慣;還有!True的條件改成not True、while後面可以跟else

Python 2.7.x 3.x 版本的語法區別

ast ssa pan att 可叠代對象 abcde unicode 用戶 列表 <__future__模塊> Python 3.x引入了一些與Python 2不兼容的關鍵字和特性,在Python 2中,可以通過內置的__future__模塊導入這些新

windows下利用python 2.7獲取電腦上所有的wifi名稱密碼

# -*- coding: UTF-8 -*- import os import sys reload(sys) sys.setdefaultencoding('utf-8') # 定義一個函式checkWIFI,獲取電腦連線過的所有wifi名稱和密碼,結果以列表形式返回

初學Python之一:Python的安裝2.73.6的安裝解除安裝

本次安裝基於Windows系統。 由於官方大力推廣3.x版本,所以今後學習以3.x版本為主 第一步: 選擇第一個選項 第二步: 這裡的路徑最好預設安裝 第三步: 特別要注意選上pip和Add python.exe to Path

windows OpenCV 2.3.1/Opencv2.4.6 + Python 2.7配置

1 .下載 OpenCV 2.3.1 。文中下載了OpenCV-2.3.1-win-superpack (大概124MB,解壓後1G多)。他不需編譯,使用方便 下載地址  2. OpenCV-2.3.1-win-superpack.exe是自解壓檔案,直接執行。即可解壓。預設解壓到opencv資料夾裡。

python 除法 /與//在2.7*3.*版本的區別

In Python 3.0, 5 / 2 will return 2.5 and 5 // 2 will return 2. The former is floating point division, and the latter is floor division, sometimes also