注:人々はこれを別の質問の複製としてマークしましたが、そうではありません。私の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
を実行する必要があります
これを実行するために仮想環境に入る方法に迷っています。
これは、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