最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python虛擬環(huán)境venv使用說(shuō)明詳解

 更新時(shí)間:2026年05月28日 09:36:27   作者:一勺菠蘿丶  
在macOS上使用Homebrew安裝的Python時(shí),如果直接執(zhí)行,可能會(huì)遇到報(bào)錯(cuò),這是因?yàn)楫?dāng)前Python環(huán)境是由Homebrew管理的,系統(tǒng)不建議直接往全局Python環(huán)境里安裝第三方依賴(lài),否則可能會(huì)把Python環(huán)境弄亂,所以本文給大家介紹了Python虛擬環(huán)境venv使用說(shuō)明

一、這個(gè)問(wèn)題是什么?

在 macOS 上使用 Homebrew 安裝的 Python 時(shí),如果直接執(zhí)行:

bash pip install xxx

可能會(huì)遇到類(lèi)似下面的報(bào)錯(cuò):

bash error: externally-managed-environment

這是因?yàn)楫?dāng)前 Python 環(huán)境是由 Homebrew 管理的,系統(tǒng)不建議直接往全局 Python 環(huán)境里安裝第三方依賴(lài),否則可能會(huì)把 Python 環(huán)境弄亂。

正確做法是:在項(xiàng)目里創(chuàng)建一個(gè)獨(dú)立的 Python 虛擬環(huán)境。

虛擬環(huán)境可以理解為:

每個(gè)項(xiàng)目都有自己?jiǎn)为?dú)的一套 Python 依賴(lài),不影響系統(tǒng),也不影響其他項(xiàng)目。

二、第一次使用:創(chuàng)建虛擬環(huán)境

第一次進(jìn)入項(xiàng)目時(shí),需要先創(chuàng)建虛擬環(huán)境。

1. 進(jìn)入項(xiàng)目目錄

假設(shè)你的項(xiàng)目文件夾叫 my-project,先進(jìn)入這個(gè)目錄:

bash cd my-project

例如:

bash cd /Users/你的用戶(hù)名/Desktop/my-project

2. 創(chuàng)建虛擬環(huán)境

執(zhí)行:

bash python3 -m venv .venv

這條命令的意思是:

  • python3:使用 Python 3
  • -m venv:使用 Python 自帶的虛擬環(huán)境模塊
  • .venv:創(chuàng)建一個(gè)名為 .venv 的虛擬環(huán)境文件夾

創(chuàng)建成功后,項(xiàng)目目錄里會(huì)多出一個(gè) .venv 文件夾。

注意:
這一步只需要第一次執(zhí)行一次。

以后只要 .venv 文件夾還在,就不需要重復(fù)創(chuàng)建。

3. 激活虛擬環(huán)境

創(chuàng)建完成后,需要激活虛擬環(huán)境:

bash source .venv/bin/activate

激活成功后,終端前面一般會(huì)出現(xiàn):

bash (.venv)

例如:

bash (.venv) user@MacBook my-project %

看到 (.venv) 就說(shuō)明當(dāng)前已經(jīng)進(jìn)入虛擬環(huán)境了。

4. 安裝項(xiàng)目依賴(lài)

如果項(xiàng)目里有 requirements.txt,執(zhí)行:

bash python3 -m pip install -r requirements.txt

如果項(xiàng)目是離線(xiàn)安裝,并且有本地依賴(lài)包目錄,比如 packages,可以執(zhí)行:

bash python3 -m pip install --no-index --find-links ./packages -r requirements.txt

如果項(xiàng)目有自己的安裝腳本,例如:

bash ./安裝依賴(lài).sh

或者:

bash ./install.sh

也可以在激活虛擬環(huán)境后運(yùn)行。

5. 啟動(dòng)項(xiàng)目

依賴(lài)安裝完成后,再啟動(dòng)項(xiàng)目。

例如:

bash ./啟動(dòng)服務(wù).sh

或者根據(jù)項(xiàng)目實(shí)際情況執(zhí)行:

bash python3 app.py
bash python3 main.py
bash npm run dev

具體啟動(dòng)命令要看項(xiàng)目提供的說(shuō)明。

三、以后每次打開(kāi)終端都怎么做?

以后不需要重新創(chuàng)建 .venv。

每次重新打開(kāi)終端,只需要做這幾步:

1. 進(jìn)入項(xiàng)目目錄

bash cd 項(xiàng)目目錄

例如:

bash cd /Users/你的用戶(hù)名/Desktop/my-project

2. 激活虛擬環(huán)境

bash source .venv/bin/activate

看到終端前面出現(xiàn) (.venv),說(shuō)明已經(jīng)進(jìn)入虛擬環(huán)境。

3. 啟動(dòng)服務(wù)

bash ./啟動(dòng)服務(wù).sh

如果項(xiàng)目啟動(dòng)命令不是這個(gè),就換成項(xiàng)目真實(shí)的啟動(dòng)命令。

四、完整示例

假設(shè)項(xiàng)目在桌面上的 my-project 文件夾里。

第一次使用

bash cd ~/Desktop/my-project python3 -m venv .venv source .venv/bin/activate python3 -m pip install -r requirements.txt ./啟動(dòng)服務(wù).sh

以后每次使用

bash cd ~/Desktop/my-project source .venv/bin/activate ./啟動(dòng)服務(wù).sh

五、為什么每次都要 source .venv/bin/activate?

因?yàn)椋?/p>

bash python3 -m venv .venv

是創(chuàng)建虛擬環(huán)境。

而:

bash source .venv/bin/activate

是激活虛擬環(huán)境。

創(chuàng)建虛擬環(huán)境只需要一次,但激活虛擬環(huán)境是針對(duì)當(dāng)前終端窗口生效的。

也就是說(shuō):

  • 你打開(kāi)一個(gè)終端,需要激活一次
  • 你關(guān)閉終端后,虛擬環(huán)境狀態(tài)就沒(méi)了
  • 下次重新打開(kāi)終端,需要再次執(zhí)行 source .venv/bin/activate

虛擬環(huán)境文件夾 .venv 還在,不代表當(dāng)前終端已經(jīng)進(jìn)入了虛擬環(huán)境。

六、怎么判斷自己有沒(méi)有進(jìn)入虛擬環(huán)境?

看終端前面有沒(méi)有:

bash (.venv)

例如:

bash (.venv) user@MacBook my-project %

如果有,說(shuō)明已經(jīng)進(jìn)入虛擬環(huán)境。

如果沒(méi)有,說(shuō)明還沒(méi)有進(jìn)入,需要執(zhí)行:

bash source .venv/bin/activate

七、怎么退出虛擬環(huán)境?

如果想退出虛擬環(huán)境,執(zhí)行:

bash deactivate

退出后,終端前面的 (.venv) 會(huì)消失。

八、常見(jiàn)問(wèn)題

1. 我已經(jīng)創(chuàng)建過(guò) .venv,還需要重新創(chuàng)建嗎?

不需要。

只要項(xiàng)目目錄里的 .venv 文件夾還在,就不用重新執(zhí)行:

bash python3 -m venv .venv

只需要執(zhí)行:

bash source .venv/bin/activate

2. 我關(guān)掉終端后,為什么又沒(méi)有 (.venv) 了?

這是正常的。

虛擬環(huán)境的激活狀態(tài)只對(duì)當(dāng)前終端窗口有效。

關(guān)閉終端后,下次打開(kāi)需要重新執(zhí)行:

bash source .venv/bin/activate

3. 為什么我激活虛擬環(huán)境后,pip install 就不報(bào)錯(cuò)了?

因?yàn)橐蕾?lài)會(huì)安裝到項(xiàng)目自己的 .venv 文件夾里,而不是安裝到 Homebrew 管理的全局 Python 環(huán)境里。

這樣不會(huì)破壞系統(tǒng) Python,也不會(huì)影響其他項(xiàng)目。

4. 如果提示沒(méi)有 requirements.txt 怎么辦?

說(shuō)明項(xiàng)目可能沒(méi)有提供 requirements.txt 文件。

可以先查看項(xiàng)目目錄里有沒(méi)有類(lèi)似文件:

bash ls

常見(jiàn)依賴(lài)文件可能叫:

bash requirements.txt pyproject.toml Pipfile environment.yml

如果都沒(méi)有,就需要看項(xiàng)目說(shuō)明文檔,確認(rèn)應(yīng)該安裝哪些依賴(lài)。

5. 如果 source .venv/bin/activate 報(bào)錯(cuò)怎么辦?

可能是 .venv 還沒(méi)有創(chuàng)建,或者你不在項(xiàng)目目錄里。

可以先檢查當(dāng)前目錄:

bash pwd

再查看有沒(méi)有 .venv 文件夾:

bash ls -a

如果沒(méi)有 .venv,說(shuō)明還沒(méi)創(chuàng)建,需要執(zhí)行:

bash python3 -m venv .venv

然后再執(zhí)行:

bash source .venv/bin/activate

九、可以讓啟動(dòng)腳本自動(dòng)進(jìn)入虛擬環(huán)境嗎?

可以。

如果你的項(xiàng)目每次都需要先激活虛擬環(huán)境再啟動(dòng),可以把啟動(dòng)腳本改成自動(dòng)激活。

例如編輯 啟動(dòng)服務(wù).sh:

bash #!/bin/bash cd “$(dirname “$0”)” source .venv/bin/activate python3 app.py

其中:

bash python3 app.py

需要替換成你項(xiàng)目真實(shí)的啟動(dòng)命令。

比如你的項(xiàng)目是:

bash python3 main.py

那就寫(xiě)成:

bash #!/bin/bash cd “$(dirname “$0”)” source .venv/bin/activate python3 main.py

這樣以后只需要執(zhí)行:

bash ./啟動(dòng)服務(wù).sh

腳本就會(huì)自動(dòng)進(jìn)入虛擬環(huán)境并啟動(dòng)項(xiàng)目。

十、推薦記住的三條命令

第一次創(chuàng)建虛擬環(huán)境:

bash python3 -m venv .venv

每次進(jìn)入虛擬環(huán)境:

bash source .venv/bin/activate

退出虛擬環(huán)境:

bash deactivate

十一、最簡(jiǎn)單的記憶方式

第一次:

bash cd 項(xiàng)目目錄 python3 -m venv .venv source .venv/bin/activate 安裝依賴(lài) 啟動(dòng)項(xiàng)目

以后每次:

bash cd 項(xiàng)目目錄 source .venv/bin/activate 啟動(dòng)項(xiàng)目

一句話(huà)總結(jié):

.venv 只需要?jiǎng)?chuàng)建一次,但每次重新打開(kāi)終端,都需要重新激活一次。

以上就是Python虛擬環(huán)境venv使用說(shuō)明詳解的詳細(xì)內(nèi)容,更多關(guān)于Python虛擬環(huán)境venv使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

长春市| 榆树市| 隆化县| 眉山市| 鄯善县| 鲁甸县| 泗水县| 沅江市| 大田县| 嘉义县| 兴安县| 上虞市| 曲松县| 漳州市| 安塞县| 岳阳市| 嘉义市| 长宁县| 扶余县| 合山市| 汽车| 咸宁市| 五原县| 廉江市| 昌黎县| 含山县| 叙永县| 安达市| 嘉禾县| 腾冲县| 同德县| 沾化县| 镇巴县| 临城县| 禹城市| 霍林郭勒市| 巴东县| 葵青区| 松阳县| 会同县| 田林县|