68

PowerShellでvirtualenvを使用すると問題が発生するようです。

PowerShellで環境をアクティブ化しようとすると...

env/scripts/activate

.. 何も起こりません。(シェルプロンプトとPATH環境変数が変更されている必要があります。)

問題は、PowerShellが新しいcmdを生成することだと思います。activate.batを実行するためだけに処理するため、変更activate.batが完了すると、シェルが無効になります。

この問題の回避策はありますか?(私はcmd.exe今のところ固執しています)

4

18 に答える 18

114

最新バージョンのvirtualenvは、すぐに使用できるPowerShellをサポートしています

必ず実行してください。

Scripts\activate.ps1

それ以外の

Scripts\activate

後者は実行activate.batされますが、PowerShellでは機能しません。

于 2012-04-05T14:56:40.970 に答える
47

私の元の答えは今では時代遅れです。ここで、activate.ps1(ではなくactivate.bat)を使用してPowershell環境からアクティブ化します。


元の答え:

これは、環境変数を永続的に変更するバッチファイルを実行できるPowershellスクリプトを含む投稿です。スクリプトは、環境変数の変更を呼び出し元のPowerShell環境に伝播します。

于 2009-09-01T23:15:02.750 に答える
22

簡単な回避策は、cmdを呼び出してから、cmdセッション内からactivate.batを実行することです。例えば:

PS C:\my_cool_env\Scripts> cmd
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\my_cool_env\Scripts>activate.bat
(my_cool_env) C:\my_cool_env\Scripts>
于 2010-10-13T19:52:47.730 に答える
14

仮想環境フォルダのScriptsディレクトリ内には、コマンドを実行している場所に応じて使用できるいくつかのアクティベーションスクリプトがあります。Windows PowerShellから仮想環境をアクティブ化しようとしている場合は、次のコマンドを使用してみてください。

. .\env\Scripts\activate.ps1

システムでアクティベーションスクリプトが無効になっているというエラーを受け取った場合は、最初にシステムで実行ポリシーの変更を呼び出す必要があります。これは、管理者として行う必要があります。

これをする:

1)PowerShellアプリケーションを右クリックし、[管理者として実行]を選択します

2)次のコマンドを実行します。Set-ExecutionPolicy Unrestricted

3)アクティベーションコマンドを再実行します。. .\env\Scripts\activate.ps1

于 2018-04-21T17:56:31.043 に答える
12

次のコマンドを実行します。

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force

に続く:

./env/Scripts/activate.ps1

それで全部です

于 2020-01-19T23:30:50.763 に答える
6

これを試してください: . .\env\Scripts\activate.ps1 ドットとスペースを見てください

于 2015-04-28T11:41:41.057 に答える
4

このエラーは、ユーザーの承認なしにシステムでスクリプトを実行できないセキュリティ対策が原因で発生します。これを行うには、管理者権限でPowerShellを開き(メインメニューでPowerShellを検索し、コンテキストメニューから[管理者として実行]を選択します)、次のように入力します。

set-executionpolicy remotesigned

詳細: http: //www.faqforge.com/windows/windows-powershell-running-scripts-is-disabled-on-this-system/

于 2016-01-07T09:21:17.353 に答える
3

Windowsユーザー

Powershellの場合:

  1. 管理者としてPowershellを実行する
  2. このコマンドをコピーして貼り付けます。set-executionpolicy remotesigned
  3. メッセージに同意します。

最後に、実行します

your_virtualenv_name\Scripts\activate.ps1

それ以外の

your_virtualenv_name\Scripts\activate.bat

CMDで実行するだけです:

your_virtualenv_name\Scripts\activate.bat
于 2019-02-27T11:28:24.037 に答える
1

私もその問題を抱えていました!そして最後に、Windowsで何をすべきかを見つけました...

わかりました、次の手順に従ってください:

1)ウィンドウの検索バーにpowershellと入力し、右クリックして[管理者として実行]を選択します

(問題がある場合は、これを確認してください)

2)PowerShellで次のコマンドを実行します:Set-ExecutionPolicy Unrestricted

3)アクティベーションコマンドを再実行します。.\\env\Scripts\activate.ps1

(正確なコマンドを実行するだけです!環境の名前に注意してください。)

以上です!:)

于 2019-12-07T23:50:27.927 に答える
1

さらに2つの提案:

セキュリティポリシーを弱めることは常に問題があるため、Powershellの最小限の方法で行うことをお勧めします。管理者としてではなく、virtualenv関数を使用するユーザーとしてPowershellを呼び出します。「set-executionpolicy-executionpolicyunrestricted-scopecurrentuser」と入力します。このように、ポリシーは1人のユーザーに対してのみ変更され、マシン全体に対しては変更されません。

次に、ソース「regisf/virtualenvwrapper-powershell」をgithubからダウンロードすることをお勧めします。ダウンロード後、zipファイルをローカルディレクトリに解凍し、その中のファイル「Install.ps1」を実行します。これにより、Powershellプロファイルがマシン上で永続的に拡張されるため、「workon」を含むすべての「virtalenvwrapper-win」コマンドを使用できるようになります。その後、virtualenvに関するPowershellとCommandshellの動作に違いはありません。

于 2020-12-05T23:15:37.773 に答える
1

まず、スクリプトの実行が許可されていることを確認してください。そうでない場合はそれをアクティブにします。次に、PowerShell pip install virtualenvを開きます(virtualenvがシステムにインストールされていない場合)python -m virtualenv myenv(ここで「myenv」は環境の名前です)

#作成した仮想環境のアクティブ化:myenv / Scripts / Activate.ps1

#仮想環境の非アクティブ化:非アクティブ化

于 2021-06-25T06:03:07.803 に答える
0

開発サーバーのアクティブ化と起動を処理するために、この簡単なスクリプトを作成しました。

$ep = Get-ExecutionPolicy

if ($ep -eq 'RemoteSigned') {

    $root = "C:\Users\ALeven\OneDrive\!code_projects\!django_projects\"

    $test = Read-Host -Prompt 'Would you like to activate the python environment? y/n'
    if ($test -eq 'y') {

        $activatestr = ($root + "\work_venv\Scripts\Activate.ps1")
        & $activatestr

    }

    $test = Read-Host -Prompt 'Would you like to run the python server? y/n'

    if ($test -eq 'y') {

        $whichserver = Read-Host -Prompt 'Enter the name of the project.'
        $path = ($root + $whichserver)
        $runserverstr = ($path + "\manage.py")
        python.exe $runserverstr runserver

    }

} else {

    Write-host "Execution Policy does not allow this script to run properly"
    Write-host "If you have the proper permissions,"
    Write-Host "Please close powershell,"
    Write-host "then right click the powershell icon and run as administrator"
    Write-host "Once in the powershell environment, execute the following:"
    Write-host "Set-ExecutionPolicy RemoteSigned -Force"

}

楽しみ。

于 2017-08-08T15:11:34.160 に答える
0

Windows PowerShellでは、venv/Scriptsフォルダーから入力する必要があります。

. ./activate
于 2019-10-22T08:07:06.180 に答える
0

私はそれをアクティブにするための小さなスクリプトを書きました。

# Don't forget to change execution policies
# Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser
# More info https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7

if (Test-Path env:VIRTUAL_ENV) {
    deactivate  
}

$env = .\venv\Scripts\activate.ps1

# use $env to set variables, for instance $env:FLASK_APP = "main.py"

PowerShell拡張子でファイルを保存することを忘れないでください.ps1

于 2020-03-05T13:34:31.937 に答える
0

Windows Powerシェルは、通常のコマンドプロンプトシェルよりも強力で「ターボチャージャー付き」と見なされます。Visual Studio Code(VScode)を使用している場合、Power Shellを実行してPython仮想環境を起動すると、以下に示すように、特にWindows10でエラーがスローされる場合があります。

\ Activate:ファイルC:\ users \ titus \ django1 \ Scripts \ Activate.ps1は、このシステムで実行中のスクリプトが無効になっているため、ロードできません。詳細については、https:/go.microsoft.com/fwlink/?LinkID=135170のabout_Execution_Policiesを参照してください。行:1文字:1

これを解決するには、次のようにします。

  1. Windowsの設定に移動します
  2. オープンアップデートとセキュリティ
  3. 「開発者向け」を選択します
  4. 開発者モードを有効にする
  5. すべての条件に同意する

どうもありがとうございました

于 2021-04-05T19:41:44.000 に答える
0

まだ物事を進めるのに苦労している人のために、WindowsPowerShellはデフォルトで現在の場所からコマンドをロードしません。activate.ps1の場所にcdすると、実行activate.ps1すると「「アクティブ化」という用語はコマンドレットの名前として認識されません」と返される可能性があります。

現在の場所からactivate.ps1を実行するには、次のことを試してください。

.\activate.ps1
于 2021-06-17T10:48:53.243 に答える
0
  1. WindowsPowershellを検索する
  2. 右クリックして、[管理者として実行]を選択します。必要に応じてセキュリティポップアップを確認する
  3. 入力:Set-ExecutionPolicy Unrestricted 入力:A
  4. cd.\env\Scripts\activate
于 2021-07-25T01:39:33.433 に答える
0

Windows10なし10.CMDvirtualenv venv / Script / activate.bat

于 2022-01-20T23:06:40.047 に答える