Akar masalahnya adalah bahwa ruang di shebang ditafsirkan sebagai memasok argumen tambahan untuk dieksekusi, sehingga C:\Program Files\Python\python.exedilihat sebagai C:\Programdiberikan Files\Python\python.exesebagai argumen.
Solusi terbaik untuk ini, karena Windows MENCINTAI ruang di $HOMEdirektori dan Program Filesdan tempat-tempat lain meskipun itu benar-benar dapat memecahkan hal-hal di cmd.exe dan Powershell dan alat lainnya, adalah:
Instal Python ke C:\Pythondan tambahkan C:\Pythonfolder tempat python.exetinggal dan Scriptsdirektori yang tinggal di dalamnya ke PATHvariabel 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:\Python27dan C:\Python36dan C:\Python37dan mengubah nama python.exeuntuk python2.exe, python36.exe, python37.exe, dll dan menambahkan masing-masing folder dan mereka Scriptsfolder ke dalam PATH. Anda mungkin ingin menentukan versi Python 3 mana yang Anda inginkan sebagai "default" dan juga membuat salinan di folder itu python3.exeuntuk 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 somepackagesintaks. The --userdefault 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.