python多版本與虛擬環境
為什么會用到多個Python版本?
用macOS和Ubutntu的同學都知道系統默認安裝的Python2.7.x,然后,我們平時python開發用的python3,所以,需要額外安裝一個Python3.x的版本。
之前,我想是使用robotframework-ride但它只支持python3.7,于是,我安裝python3.7。(注:現在已經支持3.8了)
前幾天,我想學習一下tinygrad,他支持python3.8,于是,我又裝了3.8。
python多版本管理
使用Where查找安裝的python、python3路徑。
macOS終端:
?wherepython
/usr/bin/python#2.7.16
?wherepython3
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3#3.7.9
/usr/local/bin/python3#3.7.9
/usr/bin/python3#3.7.3
windows命令提示符
?wherepython
C:\Python37\python.exe
C:\Python38\python.exe
C:\Users\fnngj\AppData\Local\Microsoft\WindowsApps\python.exe
為不同的python改名字。
比如,C:\Python38\python.exe文件拷貝改名為C:\Python38\py8.exe,那我就可以愉快的使用py8這個命令了。
?py8
Python3.8.6(tags/v3.8.6:db45529,Sep232020,15:52:53)[MSCv.192764bit(AMD64)]onwin32
Type"help","copyright","credits"or"license"formoreinformation.
>>>
為不同的python安裝庫。
每個python版本下面都有pip,我們在使用pip的安裝庫的時候,經常不知道他安裝在哪個python下面了。
?py8-mpipinstallselenium
?py8-mpipshowselenium
...
Location:c:\python38\lib\site-packages
...
帶上python-m的前綴,這樣永遠不會裝錯。
為什么會用虛擬環境?
作為一個使用python開發過大型項目的同學,一定會碰到python庫的版本依賴。
例如直接依賴:
A項目:使用django2.2
B項目:使用django3.1
還有復雜的間接依賴:
A項目:使用A框架——>依賴requests1.10
B項目:使用B庫——>依賴requests2.x
而你又需要同時開發A、B兩個項目,總不能在運行不同的項目的時候,就把不同項目的依賴庫裝一遍吧!
虛擬環境管理
python的虛擬環境管理工具挺多的,virtualenv、virtualenvwrapper、pipenv,pyenv。其實明白了原理這些工具都不復雜,這里以pipenv為例。
安裝pipenv
?pipinstallpipenv
創建虛擬環境
進入到項目目錄,創建虛擬環境。
?cdmypro#進入項目目錄
?pipenv--pythonpy8#指定基于哪個python版本創建虛擬環境。
Creatingavirtualenvforthisproject...
Pipfile:D:\github\mypro\Pipfile
UsingC:/Python38/py8.exe(3.8.6)tocreatevirtualenv...
...
Successfullycreatedvirtualenvironment!
Virtualenvlocation:C:\Users\fnngj\.virtualenvs\mypro-D2Xyk8c9
安裝依賴
這一步從Pipfile.loc中安裝依賴。
?pipenvinstall
InstallingdependenciesfromPipfile.lock(db4242)...
================================0/0-00:00:00
Toactivatethisproject'svirtualenv,runpipenvshell.
Alternatively,runacommandinsidethevirtualenvwithpipenvrun.
進入虛擬環境
?pipenvshell
Launchingsubshellinvirtualenvironment...
5.可以在虛擬環境里面安裝你想要的應用了。
v3.8.6((mypro))?pipinstallxxx
6.退出虛擬環境
v3.8.6((mypro))?exit;
7.刪除虛擬環境
?pipenv--rm
注:其實這兩個管理在pycharm集成的就有,可是上來就完全依賴pycharm開發python的同學很難搞清楚。那么,本文也有助于你更好的使用pycharm。
以上內容為大家介紹了python多版本與虛擬環境,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

相關推薦HOT
更多>>
pythonfor循環是什么
pythonfor循環是什么在做遍歷的時候,對于一些數據的反復循環執行,我們會用到for循環的語句??梢哉f這是新手入門必學的語句之一,在很多基礎循...詳情>>
2023-11-13 07:46:36
pythoncontextmanager()的轉換
python中contextmanager()的轉換1、說明當發出請求時,requests庫會在將請求實際發送到目標服務器之前準備該請求。請求準備包括像驗證頭信息和...詳情>>
2023-11-13 06:34:35
python使用items()遍歷鍵值對
python使用items()遍歷鍵值對字典可以用來存儲各種方式的信息,所以有很多方式可以通過字典的所有鍵值對、鍵或值。說明1、即使通過字典,鍵值對...詳情>>
2023-11-13 04:24:15
python實例方法中self的作用
python實例方法中self的作用說明1、無論是創建類的構造方法還是實例方法,最少要包含一個參數self。2、通過實例的self參數與對象進行綁定,程序...詳情>>
2023-11-13 03:46:48