pip建立的虛擬環境
使用命令 python -m venv hf
建立虛擬環境後,在啟用時,會遇到一個錯誤,原因是powershell啟動了嚴格的審查指令碼策略。
這個錯誤資訊表明你嘗試在 PowerShell 中執行一個指令碼(具體是啟用一個虛擬環境),但是你的系統設定阻止了未經簽名的指令碼的執行。PowerShell 有一個叫做“執行策略”(Execution Policy)的安全特性,用於控制是否可以執行指令碼以及從哪裡可以執行它們。
預設情況下,PowerShell 的執行策略可能是設為 Restricted
或 AllSigned
,這意味著只有經過數字簽名的指令碼才能執行,或者根本不能執行任何指令碼。要解決這個問題,你需要更改執行策略以允許執行指令碼。
警告: 更改執行策略可能會降低系統的安全性,因為它允許執行來自任何來源的指令碼。確保只從你信任的來源執行指令碼,並理解潛在的風險。
要更改執行策略,請按照以下步驟操作:
- 開啟 PowerShell 作為管理員。
- 輸入以下命令來檢視當前的執行策略:
Get-ExecutionPolicy
- 如果輸出顯示
Restricted
或AllSigned
,則需要將其更改為RemoteSigned
或Unrestricted
(Unrestricted
是最寬鬆的設定,允許執行所有指令碼)。輸入以下命令之一來更改執行策略:
或者Set-ExecutionPolicy RemoteSigned
Set-ExecutionPolicy Unrestricted
- 系統將提示你確認更改,鍵入
Y
並按 Enter 鍵確認。 - 重新啟動 PowerShell 或關閉並重新開啟命令列介面,然後再次嘗試執行你的指令碼。
請注意,更改執行策略可能會影響系統安全,因此在生產環境中應謹慎操作。如果只是臨時需要執行指令碼,可以考慮使用 -ExecutionPolicy
引數直接在執行指令碼時指定策略,例如:
powershell -ExecutionPolicy Bypass -File .\hf\Scripts\activate
但這同樣會繞過正常的執行策略檢查,應小心使用。
miniconda 虛擬環境在 ternimal 中執行
如果在安裝的時候,選擇把 conda 加入 PATH,否則,就要在 PATH 中新增 conda 的執行目錄。
然後,開啟 powershell ,執行 conda --version,檢視是否可以正確顯示。
如果正確顯示,則執行 conda init powershell,這樣就可以了。
解釋 conda init 幫助資訊
conda 初始化命令幫助資訊
使用方法:
conda-script.py init
命令用於初始化 conda 以便於在 shell 中進行互動。
必需引數:
SHELLS
:一個或多個要初始化的 shell。如果不提供,則預設值為 Unix 上的 'bash' 和 Windows 上的 'cmd.exe' 與 'powershell'。使用--all
標誌可以初始化所有可用的 shell。可選 shell 包括:['bash', 'cmd.exe', 'fish', 'powershell', 'tcsh', 'xonsh', 'zsh']。
選項:
-h, --help
:顯示此幫助資訊並退出。--all
:初始化所有當前可用的 shell。--anaconda-prompt
:在桌面上新增一個 'Anaconda Prompt' 圖示。-d, --dry-run
:僅顯示將要執行的操作,不實際執行。
配置型別:
--user
:為當前使用者初始化 conda(預設)。--no-user
:不為當前使用者初始化 conda。--system
:為系統上的所有使用者初始化 conda。--reverse
:撤銷上次 conda 初始化的效果。
輸出、提示和流程控制選項:
--json
:將所有輸出報告為 json。適用於程式化使用 conda。-v, --verbose
:可以多次使用。一次用於詳細輸出,兩次用於 INFO 日誌記錄,三次用於 DEBUG 日誌記錄,四次用於 TRACE 日誌記錄。-q, --quiet
:不顯示進度條。
關鍵說明:
conda 的關鍵功能需要它直接與呼叫 conda 的 shell 進行互動。conda activate
和 conda deactivate
命令特別地,是 shell 級別的命令。也就是說,它們影響了被互動的 shell 上下文的狀態(例如,環境變數)。其他核心命令,如 conda create
和 conda install
,也必然與 shell 環境互動。它們因此以特定於每個 shell 的方式實現。每個 shell 必須進行配置以利用這些命令。
此命令會對你的系統進行特定且針對每個 shell 定製的更改。在進行更改前,使用 --dry-run
標誌可以看到具體哪些檔案和系統位置將受到影響。為了看到每個位置將進行的確切更改,使用 --verbose
標誌。
重要提示:執行 conda init
後,大多數 shell 需要關閉並重新啟動以使更改生效。這確保了 shell 能夠識別和應用 conda 初始化帶來的環境變數和其他配置變化。