Activando el entorno virtual de Python en Windows

Nota: la gente ha marcado esto como un duplicado de otra pregunta, pero no lo es. Hay algo fuera de mi virtualenv y no he podido resolverlo. Puede que tenga que ver con cómo Visual Studio lo configura.

He estado siguiendo junto con este excelente tutorial en matraz.

Me encontré con un problema cuando intenté activar el entorno virtual en Windows. ¿Cómo ejecutas $ venv\Scripts\activate ? ¿Se supone que esto es desde el símbolo del sistema o Powershell? He utilizado Visual Studio como mi IDE. Crea para ti una solución de VS que tiene una aplicación básica de matraz para comenzar. En el proceso de creación de la aplicación, le pide que cree un entorno virtual. Crea ese entorno virtual en un directorio similar al que se muestra en el tutorial. \venv\Scripts sale pero no tiene un archivo o ejecutable llamado “activar”.

Aquí está el contenido de la carpeta 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

Llegué a la sección de migración de datos, pero aquí necesito ejecutar (venv) $ flask db migrate

No sé cómo entrar en el entorno virtual para ejecutar esto.

Esta es mi CheatSheet cuando instalo Python en Windows a través de PowerShell.

Primero instale python 2.7x desde https://www.python.org/downloads/

Luego, agregue la carpeta Python y Scripts a la variable de ruta (para todo el sistema)

 # 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) 

Luego instale virtualenv via pip

 pip install virtualenv 

Activar un virtualenv

 virtualenv venv . .\venv\Scripts\activate 

Si utiliza Powershell, el script de activate está sujeto a las políticas de ejecución en el sistema. De forma predeterminada en Windows 7, la política de excución del sistema se establece en Restricted . Para usar el script, puede relajar la política de ejecución de su sistema a AllSigned , lo que significa que todos los scripts en el sistema deben estar firmados digitalmente para ser ejecutados. Como administrador, ejecute: Set-ExecutionPolicy AllSigned

Desactivar un virtualenv

 deactivate 

haga cd pat_to_env / Scripts y luego ejecute activar comando.