一、Python環境基礎命令【Windows】
?
??于Windows
環境下,針對Python
,在CMD(命令提示符)
常用的命令以及具體用法,怎么用;
??主要包含:運行腳本、包管理、虛擬環境、調試與信息查看、快捷執行、代碼檢查,以及Windows
特有的命令和路徑處理。
1、檢查Python
是否安裝
??使用python --version
來查看所安裝的Python
版本:
python --version
2、 查看Python
的安裝路徑
??查看Python
的安裝路徑:列出所有Python
解釋器的安裝路徑;
where python
?
二、運行Python
1、直接運行腳本文件
??比如現在要執行路徑F:\Python\venvEnvironment\project\pythonProject\basic
下的hello.py
,如下圖:
??在Windows
下的命令提示符(CMD
),輸入該文件所在路徑F:\Python\venvEnvironment\project\pythonProject\basic
,如下圖:
??到路徑下后,輸入命令python hello.py
回車就可以看到執行結果,如下:
?
2、傳遞命令行參數
- 腳本內接收參數:在
moreSys.py
中使用sys.argv
獲取參數列表:
??文件路徑:
??命令行輸入腳本:
?
三、Python包管理(pip
)&虛擬環境
1、安裝三方庫
python -m pip install 包名
??其中,安裝三方庫:python -m pip install 包名
中的python -m
可以省略,這里的python -m
是指以模塊模式運行pip
,而不是直接調用系統環境中的pip
可執行文件。
?
??python -m
的作用:
??如果系統中安裝了多個Python版本(如Python 3.8、Python 3.13等等版本),每個版本都有獨立的pip
。此時如果,直接運行pip install
可能會調用全局默認的pip
(也就是與當前使用的Python版本不匹配)導致運行錯誤。因此,使用python -m
就能很好的確保調用的是當前Python解釋器對應的pip
,進而避免版本沖突,導致運行錯誤。
?
??python -m
不僅限于pip
,也可以用于其他模塊:
-
創建虛擬環境:
python -m venv 虛擬環境名稱
-
啟動HTTP服務器:
python -m http.server
-
運行
pytest
測試:python -m pytest
??對比總結:
命令 | 含義 | 推薦場景 |
---|---|---|
pip install pandas | 直接調用系統路徑的 pip | 確保環境單一且無沖突時使用 |
python -m pip install pandas | 調用當前 Python 解釋器對應的 pip | 推薦,尤其多版本 Python、虛擬環境中使用 |
?
??直接使用pip install 包名
安裝,比如安裝Django
,如下:
?
??也可以指定版本進行安裝,如下:
pip install Django == 5.2
?
2、卸載包
??使用命令pip unstall 包名
就可以卸載這個包;
?
3、導出與安裝包依賴(虛擬環境)
??我本地虛擬環境中,安裝了很多第三方類庫,如下圖:
?
??在命令提示符中,可以更清楚我安裝了哪些第三方類庫,如下:
?
?
??首先需要講解到一個虛擬環境的概念:
3.1 為什么需要虛擬環境
??通常,我們的Python
安裝到C盤目錄,即裝載系統的盤符,而我們每次需要進行新的開發,需要導入安裝一些第三方庫,比如爬蟲開發,我們從B站
爬取到的視頻
通常是需要將視頻
和音頻
分開爬取,而進行視頻和音頻的合成
就需要第三方庫moviepy.editor,且需要它的版本是1.0.3
,如果高于這個版本,運行時就會報錯,報錯如下,也是讓人頭疼得很:
??于Python版本而言,版本太高也是有問題的,因為低版本的第三方類庫和高版本的Python出現了不兼容,即兼容性較差,下面的這段報錯,就是因為Python版本太高,無論是最新的第三方類庫moviepy
還是指定版本moviepy==1.0.3
,在運行時都會報錯,故而推薦大家盡量不要使用最新的Python版本,因為兼容性較差;推薦安裝3.6 到 3.10
內的版本,進行開發。
Traceback (most recent call last):File "F:\Python\venvEnvironment\venvdemo\Lib\site-packages\numpy\_core\__init__.py", line 23, in <module>from . import multiarrayFile "F:\Python\venvEnvironment\venvdemo\Lib\site-packages\numpy\_core\multiarray.py", line 10, in <module>from . import overridesFile "F:\Python\venvEnvironment\venvdemo\Lib\site-packages\numpy\_core\overrides.py", line 7, in <module>from numpy._core._multiarray_umath import (add_docstring, _get_implementing_args, _ArrayFunctionDispatcher)
ImportError: DLL load failed while importing _multiarray_umath: 找不到指定的程序。During handling of the above exception, another exception occurred:Traceback (most recent call last):File "F:\Python\venvEnvironment\venvdemo\Lib\site-packages\numpy\__init__.py", line 127, in <module>from numpy.__config__ import show_configFile "F:\Python\venvEnvironment\venvdemo\Lib\site-packages\numpy\__config__.py", line 4, in <module>from numpy._core._multiarray_umath import (...<3 lines>...)File "F:\Python\venvEnvironment\venvdemo\Lib\site-packages\numpy\_core\__init__.py", line 49, in <module>raise ImportError(msg)
ImportError: IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.We have compiled some common reasons and troubleshooting tips at:https://numpy.org/devdocs/user/troubleshooting-importerror.htmlPlease note and check the following:* The Python version is: Python3.13 from "F:\Python\venvEnvironment\venvdemo\Scripts\python.exe"* The NumPy version is: "2.2.5"and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.Original error was: DLL load failed while importing _multiarray_umath: 找不到指定的程序。The above exception was the direct cause of the following exception:Traceback (most recent call last):File "F:\Python\venvEnvironment\project\pythonProject\basic\crawler\vedioMergeAudio.py", line 1, in <module>from moviepy.editor import *File "F:\Python\venvEnvironment\venvdemo\Lib\site-packages\moviepy\editor.py", line 24, in <module>import imageioFile "F:\Python\venvEnvironment\venvdemo\Lib\site-packages\imageio\__init__.py", line 24, in <module>from .core import FormatManager, RETURN_BYTESFile "F:\Python\venvEnvironment\venvdemo\Lib\site-packages\imageio\core\__init__.py", line 10, in <module>from .util import Image, Array, Dict, asarray, image_as_uint, urlopenFile "F:\Python\venvEnvironment\venvdemo\Lib\site-packages\imageio\core\util.py", line 10, in <module>import numpy as npFile "F:\Python\venvEnvironment\venvdemo\Lib\site-packages\numpy\__init__.py", line 132, in <module>raise ImportError(msg) from e
ImportError: Error importing numpy: you should not try to import numpy fromits source directory; please exit the numpy source tree, and relaunchyour python interpreter from there.
?
- 虛擬環境能夠很好的隔離實現不同的第三方庫分離,避免沖突,便于進行Python項目開發:如果全局安裝,就會導致第三方庫版本沖突,出現不兼容報錯,不便管理;而虛擬環境,就可以獨立安裝第三方類庫,為每個項目支撐獨立的依賴空間;
- 環境一致性:確保開發、測試和生產環境使用相同的依賴版本,避免“在我機器上能運行”的問題;
- 多Python版本支持:Python版本指的就是Python解釋器本身的版本。目前Python每個版本的兼容性不太友好,特別現在最新的版本
3.13.*
和穩定版的3.7 ~ 3.9
期間的版本,目前是公認的穩定性最好。目前新版本和舊版本中的類庫版本對于我們開發和維護就非常的不友好,就會發生上面的報錯問題,而且頭疼得很,而這時Python中的版本管理器Pyenv
就特別的有用,它用于隔離不同的Python環境,且很方便的切換環境中的Python版本,這個Pyenv
和Python虛擬環境關系也不太大,對于我們開發和維護就變得容易得多; - Python包庫:包庫或者叫軟件源是Python第三方軟件的庫的集合,或者市場,可以發布、下載和管理軟件包,其中
PyPI(Python Package Index)
是Python編程語言的軟件存儲庫。開發者可以通過PyPI
查找和安裝由Python社區開發和共享的軟件,也可以將自己開發的庫上傳至PyPI
。基于pip
就可以查找、下載安裝需要的軟件包。為了提高下載速度,目前有很多Pypi
的鏡像服務器,在國內也有很多軟件源,比如阿里的軟件源是:mirrors.aliyun.com/pypi...
。除此之外,還有其他軟件源,如正對科學計算的anaconda
的軟件源repo.anaconda.com/
;
?
?
3.2 創建虛擬環境
??在命令提示符中,即CMD
中,指定需要創建虛擬環境的路徑,比如我要在路徑F:\Python
下創建一個名為venvSample
的虛擬環境,則在CMD
,中輸入該路徑,然后輸入命名python -m venv venvSample
,如下:
??創建虛擬環境的過程:
??在路徑F:\Python
下,我們可以看到生成了一個venvSample
的文件夾;
??這個文件夾,將我本地的Python編輯器重新復制一份到此環境中,存于路徑F:\Python\venvSample\Scripts
下:
?
3.3 使用/退出虛擬環境
??如果使用activate
后,在命令提示符中,有(虛擬環境名稱)
則說明進入了虛擬環境中;
??我們使用虛擬環境來安裝第三方庫numpy
,下面是動圖gif
文件,大家可以看一下,如何激活虛擬環境,在虛擬環境中,安裝三方庫;
??從上面的這個動圖可以看出,指出安裝的鏡像路徑,下載的速度會非常的快,這里,我使用的鏡像源是阿里云的鏡像:https://mirrors.aliyun.com/pypi/simple/
;
?
??我們要使用虛擬環境,則在虛擬環境路徑下,使用命令activate
來激活虛擬環境,使用命令deactivate
來關閉虛擬環境;
??查看是否安裝成功,使用命令pip list
來查看安裝的三方庫numpy==1.21.6
;
?
?
3.4 安裝其他項目的三方拓展包
3.4.1 命令行安裝
??使用requirements.txt
文件:打開創建的虛擬環境,在創建的虛擬環境中,將其他項目中需要安裝的包使用命令python -m pip install -r requirements.txt
或者pip install -r requirements.txt
進行安裝;在這里我們指定了阿里云的鏡像源:https://mirrors.aliyun.com/pypi/simple/
,如果直接安裝的話,安裝速度特別的慢,它會調國外的第三方包鏡像也就是Python官網的包;
?
?
??安裝過程:
?
?
?
3.4.1 軟件PyCharm安裝
??點擊【File(文件)】 —> 【Settings(設置)】 —> 【找到你的項目名稱】 —> 找到【Python Interpreter】,就可以看到你安裝的三方包;
4、Python的鏡像源
??目前,如果我們不指定安裝鏡像源,會直接指向Python
官網,由于服務器在國外,因此下載包的速度就會非常的慢,甚至還會出現超時、報錯的情況;因此,選擇一些好的鏡像源下載安裝第三方庫,就可以加大下載安裝的速度且一般不會報錯;
??接下來,列舉國內常見的pip鏡像源
,安裝完全度和下載速度排列,需要注意的是,鏡像源的完全度和速度可能因地域和時間而異,建議據具體情況選擇合適的鏡像源。
??
4.1 國內常見的鏡像源
- 清華大學(完全度和速度都比較好,一個優秀的鏡像源)
https://pypi.tuna.tsinghua.edu.cn/simple
?
- 阿里云(完全度和速度也很好,不錯的選擇)
https://mirrors.aliyun.com/pypi/simple/
?
- 網易(速度比較快,完全度有限)
https://mirrors.163.com/pypi/simple/
?
- 豆瓣(速度較快,完全度也有限)
https://pypi.douban.com/simple/
- 百度云(速度較快,完全度也有限)
https://mirror.baidu.com/pypi/simple/
?
- 中科大(速度較快,完全度不如前面幾個好)
https://pypi.mirrors.ustc.edu.cn/simple/
?
- 華為云(完全度和速度中等)
https://mirrors.huaweicloud.com/repository/pypi/simple/
?
- 騰訊云(速度一般,完全度一般)
https://mirrors.cloud.tencent.com/pypi/simple/
?
4.2 鏡像源配置方法
4.2.1 鏡像源下載安裝使用方法
??下載安裝Python三方庫,可以使用命令:
python -m pip install 安裝三方庫的版本號 -i https://mirrors.aliyun.com/pypi/simple/# 或者pip install 安裝三方庫的版本號 -i https://mirrors.aliyun.com/pypi/simple/# 比如
pip install moviepy==1.0.3 -i https://mirrors.aliyun.com/pypi/simple/
??
四、總結
- Python環境的基礎命令;
- 在命令提示符中運行Python文件以及傳遞命令行參數;
- 對Python中的三方庫進行結構化管理以及安裝多個Python版本后如何使用虛擬環境來將各個版本的Python環境進行隔離,各自調用各自的三方包;
- 在虛擬環境中,如何鏡像其他項目的三方庫,使用
requirements.txt
來實現將本項目用到的三方包版本拷貝下來; - Python中的鏡像源;
- 如何使用Python中的鏡像源高速下載三方包;
?
?
??以上的內容,是本人自學Python,寫的筆記,如有錯誤,請留言哦!!!本人會在第一時間及時更正。如果你覺得有用,請一鍵三連哦!!