La raíz del problema es que los espacios en shebangs se interpretan como el suministro de argumentos adicionales a un archivo ejecutable, por lo C:\Program Files\Python\python.exe
consigue vistos como C:\Program
dada Files\Python\python.exe
como argumento.
La mejor solución para esto, porque Windows AMA los espacios en el $HOME
directorio y en Program Files
otros lugares a pesar de que realmente puede romper cosas en cmd.exe y Powershell y otras herramientas, es:
Instale Python C:\Python
y agregue la C:\Python
carpeta donde python.exe
vive y el Scripts
directorio que vive dentro de él a su PATH
variable de entorno a nivel de sistema o usuario.
Si necesita 2.7.x Python 3.x que coexisten, instalarlos en C:\Python27
y C:\Python36
y C:\Python37
y cambiar el nombre python.exe
de python2.exe
, python36.exe
, python37.exe
, etc y añadir cada una de estas carpetas y sus Scripts
carpetas en el PATH
. Es posible que desee determinar cuál de las versiones de Python 3 desea que sea la "predeterminada" y también hacer una copia en esa carpeta python3.exe
para manejar cualquier script que use !#/usr/bin/env python3
.
Si su directorio de inicio de usuario tiene un espacio, también puede experimentar problemas si utiliza la pip install --user somepackage
sintaxis. Los --user
valores predeterminados de su directorio de inicio, y el espacio también se dispararán las cosas en este caso. La solución se describe aquí, pero se reduce a exportar PYTHONUSERBASE a su entorno.
export PYTHONUSERBASE=/myappenv
pip install --user SomePackage
o en Windows (Powershell):
$env:PYTHONUSERBASE='C:\PythonPkgs'
pip install --user SomePackage
env
, como lo está haciendo el autor de la pregunta.