簡體   English   中英

virtualenv v16.7.2 powershell 激活腳本:“您必須‘源’此腳本:PS> . .\\ENV\\Scripts\\activate”錯誤

[英]virtualenv v16.7.2 powershell activate script: "You must 'source' this script: PS> . .\ENV\Scripts\activate" error

問題

python v.3.7.4 上最新版本的 virtualenv (16.7.2) 為“activate.ps1”腳本增加了 4 行,在 Windows10 powerhsell 上運行時會出現錯誤: You must 'source' this script: PS> . .\\ENV\\Scripts\\activate You must 'source' this script: PS> . .\\ENV\\Scripts\\activate我該如何解決這個問題? (請注意,我已經閱讀並完成了其他論壇問題以及與 windows 和 powershell 相關的 virtualenv 手冊中提到的所有內容。)

我采取的步驟/嘗試的事情:**

我已將執行策略設置為 RemoteSigned(按照其他論壇的建議):

Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine    RemoteSigned

當我想激活 virtualenv 時,我運行.\\ENV\\Scripts\\activate

問題出在哪里

問題出在創建新虛擬環境時 virtualenv 自動生成的 activate.ps1 腳本的第 3 到 6 行:

if (@($null,"Internal") -notcontains $myinvocation.commandorigin) {
    Write-Host -Foreground red "You must 'source' this script: PS> . $($myinvocation.invocationname)"
    exit 33
}

似乎$myinvocation.commandorigin設置為Runspace而不是Internal

我該如何解決? 有任何想法嗎? 謝謝 :))) 請注意,我不想手動調整每個 auto-gen activate.ps1文件。

讓我們來看看那個錯誤信息:

You must 'source' this script: PS> . .\\ENV\\Scripts\\activate

嗯... - PS>可能只是提示,這給我們留下了這個:

  . .\ENV\Scripts\activate
# ^
# |
# Check out this guy

那個,寂寞. 路徑前面,就是powershell中的點源操作符

根據文檔,它:

在當前作用域中運行腳本,以便將腳本創建的任何函數、別名和變量添加到當前作用域。

我沒有看過virtualenv ,但我假設它需要定義許多變量並確保這些變量在腳本運行后持續存在,它需要在當前范圍內運行。

所以這是你必須運行的文字命令來修復它:

. .\ENV\Scripts\activate

我也遇到過這個問題。 為了解決這個問題,我創建了一個新的虛擬環境,如下所示:

python -m venv directory-name

激活:

Scripts>./activate

現在它工作正常......

附上截圖供參考。 我剛剛遇到了同樣的問題,但我做了以下事情:

  1. 創建一個新的虛擬環境;

    python -m venv directory

  2. 導航到新創建的目錄;

    cd directory

  3. 激活虛擬環境。

    .\\Scripts\\activate

這解決了我的問題。 我希望它有幫助...

我也面臨同樣的問題,通過使用這個解決了它:

創建虛擬環境作者:virtualenv environment

創建虛擬環境后

我通過使用激活它:

source environment/bin/activate 

它激活了我的虛擬環境

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM