web-dev-qa-db-ja.com

Python Windowsの仮想環境をアクティブにする

注:人々はこれを別の質問の複製としてマークしましたが、そうではありません。私のvirtualenvに何か問題があり、解決できませんでした。 Visual Studioの設定方法に関係している可能性があります。

私はこの優れた フラスコのチュートリアル に従っています

Windowsで仮想環境をアクティブ化しようとしたときに問題が発生しました。 $ venv\Scripts\activateをどのように実行しますか?これはコマンドプロンプトまたはPowershellによるものですか? IDEとしてVisual Studioを使用しました。基本的なflaskアプリが最初にあるVSソリューションを作成します。アプリを作成する過程で、仮想環境を作成するように求められます。その仮想環境をディレクトリに作成しますチュートリアルで示したものと同様です。\venv\Scriptsは終了しますが、「activate」というファイルまたは実行可能ファイルはありません。

以下はScriptsフォルダーの内容です。

api-ms-win-core-console-l1-1-0.dll api-ms-win-core-datetime-l1-1-0.dll

api-ms-win-core-debug-l1-1-0.dll

api-ms-win-core-errorhandling-l1-1-0.dll

api-ms-win-core-file-l1-1-0.dll api-ms-win-core-file-l1-2-0.dll

api-ms-win-core-file-l2-1-0.dll api-ms-win-core-handle-l1-1-0.dll

api-ms-win-core-heap-l1-1-0.dll api-ms-win-core-interlocked-l1-1-0.dll

api-ms-win-core-libraryloader-l1-1-0.dll

api-ms-win-core-localization-l1-2-0.dll

api-ms-win-core-memory-l1-1-0.dll api-ms-win-core-namedpipe-l1-1-0.dll

api-ms-win-core-processenvironment-l1-1-0.dll

api-ms-win-core-processthreads-l1-1-0.dll

api-ms-win-core-processthreads-l1-1-1.dll

api-ms-win-core-profile-l1-1-0.dll

api-ms-win-core-rtlsupport-l1-1-0.dll

api-ms-win-core-string-l1-1-0.dll api-ms-win-core-synch-l1-1-0.dll

api-ms-win-core-synch-l1-2-0.dll api-ms-win-core-sysinfo-l1-1-0.dll

api-ms-win-core-timezone-l1-1-0.dll api-ms-win-core-util-l1-1-0.dll

api-ms-win-crt-conio-l1-1-0.dll api-ms-win-crt-convert-l1-1-0.dll

api-ms-win-crt-environment-l1-1-0.dll

api-ms-win-crt-filesystem-l1-1-0.dll api-ms-win-crt-heap-l1-1-0.dll

api-ms-win-crt-locale-l1-1-0.dll api-ms-win-crt-math-l1-1-0.dll

api-ms-win-crt-multibyte-l1-1-0.dll api-ms-win-crt-private-l1-1-0.dll

api-ms-win-crt-process-l1-1-0.dll api-ms-win-crt-runtime-l1-1-0.dll

api-ms-win-crt-stdio-l1-1-0.dll api-ms-win-crt-string-l1-1-0.dll

api-ms-win-crt-time-l1-1-0.dll api-ms-win-crt-utility-l1-1-0.dll

concrt140.dll msvcp140.dll pyexpat.pyd python.exe python3.dll

python36.dll pythoncom36.dll pythonw.exe pywintypes36.dll select.pyd

sqlite3.dll tcl86t.dll tk86t.dll ucrtbase.dll unicodedata.pyd

vccorlib140.dll vcomp140.dll vcruntime140.dll winsound.pyd

xlwings32.dll xlwings64.dll

_asyncio.pyd

_bz2.pyd

_ctypes.pyd

_ctypes_test.pyd

_decimal.pyd

_elementtree.pyd

_hashlib.pyd

_lzma.pyd

_msi.pyd

_multiprocessing.pyd

_overlapped.pyd

_socket.pyd

_sqlite3.pyd

_ssl.pyd

_testbuffer.pyd

_testcapi.pyd

_testconsole.pyd

_testimportmultiple.pyd

_testmultiphase.pyd

_tkinter.pyd

データ移行セクション にたどり着きましたが、ここで(venv) $ flask db migrateを実行する必要があります

これを実行するために仮想環境に入る方法に迷っています。

3
Barka

これは、PowerShellを介してWindowsにpythonをインストールしたときの私のチートシートです。

最初のインストールpython 2.7x https://www.python.org/downloads/ から

次に、Python and Scriptsフォルダーをパス変数に追加します(システム全体)

# Add Python and Python Scripts to path
$env:Path = [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine)
$PythonPath = "C:\Python27"
$PythonScriptsPath = "C:\Python27\Scripts"

if ($env:Path -notlike "*$PythonPath*") {
    $env:Path = $env:Path + ";$PythonPath"
}

if ($env:Path -notlike "*$PythonScriptsPath*") {
    $env:Path = $env:Path + ";$PythonScriptsPath"
}

# Save to machine path
[Environment]::SetEnvironmentVariable( "Path", $env:Path, [System.EnvironmentVariableTarget]::Machine )

# Check machine path
[System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine)

次に、pipを介してvirtualenvをインストールします

pip install virtualenv

Virtualenvをアクティブにする

virtualenv venv
. .\venv\Scripts\activate

Powershellを使用している場合、activateスクリプトはシステムの実行ポリシーに従います。 Windows 7のデフォルトでは、システムの実行ポリシーはRestrictedに設定されています。スクリプトを使用するために、システムの実行ポリシーをAllSignedに緩和できます。つまり、システム上のすべてのスクリプトを実行するにはデジタル署名が必要です。管理者として実行:Set-ExecutionPolicy AllSigned

Virtualenvを非アクティブ化する

deactivate
3
Glenn G