1. 程式人生 > >python2-python3中的一些問題

python2-python3中的一些問題

一、使用pip的問題

當在電腦中安裝完python3後,且電腦中沒有安裝python2相關版本是,在Python3的安裝資料夾下的Scripts目錄下,會有3個跟pip相關的檔案,分加別是pip.exe,pip3.7.exe,pip3.exe,這3個用哪一個都是一樣的,其中2個可以看做是另一個的別名或者超連線。

我的電腦中的截圖​​​​

接下來,下載安裝Python2.7版本,我是將其安裝在D:\Python27下,在這個資料夾下的Scripts資料夾時面有也好幾個pip開頭的檔案,如下,功能都是一樣的。

資料夾中python2.7版本的啟動程式是python.exe,python3版本的啟動程式也是python.exe,為了便於區分,我們需要將python2版本的啟動程式更改為python2.exe,這樣在在DOS控制檯下,輸入python2即可以啟動python2.7版本,輸入python,即可以啟動python3版本。

在不同的Python版本中使用pip安裝第三方庫:

python2版本中:

python2 -m pip install packagename   #只所以用python 是因為在python3版本中,啟動程式是python2.exe,也就是上面我們說的改名的。

  py -2 -m pip install packagename

python3版本中:

python -m pip install packagename  #只所以用python 是因為在python3版本中,啟動程式是python.exe,這個也是預設的。

或 

py -3 -m pip install packagename

以上所有的方法安裝的包都會被放在python安裝資料夾的\Lib\site-packages下面。

二、python.exe和pythonw.exe的問題

Windows系統搭建好Python的環境後,進入Python的安裝目錄,大家會發現目錄中有python.exe和pythonw.exe兩個程式。如下圖所示:

它們到底有什麼區別和聯絡呢?

概括說明一下:

python.exe在執行程式的時候,會彈出一個黑色的控制檯視窗(也叫命令列視窗、DOS/CMD視窗);

pythonw.exe是無視窗的Python可執行程式,意思是在執行程式的時候,沒有視窗,程式碼在後臺執行。

.py和.pyw檔案的區別也來源於python.exe和pythonw.exe的區別:

安裝視窗版 Python 時,副檔名為 .py 的檔案被預設為用 python.exe 執行的檔案,而 .pyw檔案則被預設為用 pythonw.exe 執行。

這裡還要解釋一個問題,如果.py檔案直接用python.exe開啟,檔案被執行完成之後,視窗會立即關閉,如果想讓視窗停留,給大家提供兩個方法:①可以在程式中import time模組,加入超長睡眠語句,如time.sleep(1800),如果你不手動關閉視窗,視窗將會停留30min;②可以呼叫sys和os模組,使用命令列語句pause(個人覺得有些牛刀殺雞的感覺)。

.pyw格式是被設計用來執行開發的純圖形介面程式的,純圖形介面程式的使用者不需要看到控制檯視窗。在開發純圖形介面程式的時候,可以暫時把 .pyw 改成 .py ,執行時能調出控制檯視窗,方便看到所有錯誤資訊。

至於.pyc檔案,是Python直譯器執行程式的過程中產生的位元組碼檔案(也就是中間檔案)。Python什麼情況下產生pyc檔案?