Akar masalahnya adalah bahwa ruang di shebang ditafsirkan sebagai memasok argumen tambahan untuk dieksekusi, sehingga C:\Program Files\Python\python.exe
dilihat sebagai C:\Program
diberikan Files\Python\python.exe
sebagai argumen.
Solusi terbaik untuk ini, karena Windows MENCINTAI ruang di $HOME
direktori dan Program Files
dan tempat-tempat lain meskipun itu benar-benar dapat memecahkan hal-hal di cmd.exe dan Powershell dan alat lainnya, adalah:
Instal Python ke C:\Python
dan tambahkan C:\Python
folder tempat python.exe
tinggal dan Scripts
direktori yang tinggal di dalamnya ke PATH
variabel lingkungan Anda di tingkat sistem atau pengguna.
Jika Anda membutuhkan Python 2.7.x dan 3.x untuk co-ada, menginstal mereka ke dalam C:\Python27
dan C:\Python36
dan C:\Python37
dan mengubah nama python.exe
untuk python2.exe
, python36.exe
, python37.exe
, dll dan menambahkan masing-masing folder dan mereka Scripts
folder ke dalam PATH
. Anda mungkin ingin menentukan versi Python 3 mana yang Anda inginkan sebagai "default" dan juga membuat salinan di folder itu python3.exe
untuk menangani skrip apa pun yang digunakan !#/usr/bin/env python3
.
Jika direktori home pengguna Anda memiliki ruang di dalamnya, Anda juga dapat mengalami masalah jika Anda menggunakan pip install --user somepackage
sintaks. The --user
default ke direktori home Anda, dan ruang akan perjalanan hal-hal dalam kasus ini juga. Solusinya dijelaskan di sini tetapi bermuara pada mengekspor PYTHONUSERBASE ke lingkungan Anda.
export PYTHONUSERBASE=/myappenv
pip install --user SomePackage
atau di Windows (Powershell):
$env:PYTHONUSERBASE='C:\PythonPkgs'
pip install --user SomePackage
env
, seperti yang dilakukan penanya.