Saya menggunakan Bash pada Windows, yang disediakan oleh MSYS.
Saya mencoba menjalankan file Python dengan shebang #!/usr/bin/env python
, tapi saya mendapatkan pesan kesalahan ini:
/usr/bin/env: python: No such file or directory
Apa yang bisa saya lakukan untuk membuat ini bekerja?
Saya tahu saya bisa meluncurkan file Python dengan suffix dengan python
, tapi saya ingin itu berfungsi tanpa suffix juga.
env
, seperti yang dilakukan penanya.which env
danwhich python
dantype python
?Anda mungkin tertarik dengan Peluncur Python Untuk Windows
sumber
Apa yang terjadi ketika Anda menjalankan (dari shell):
..?
Jika memulai sesi python interaktif, maka python dapat ditemukan. (Anda juga dapat menjalankan:)
type python
. Jika ia mencetak "tidak ada file atau direktori", makapython
tidak ditemukan di PATH Anda. Lihat apakah hal berikut dapat di-tweak untuk memperbaiki masalah (spasi di path / ke / python mungkin akan menyebabkan masalah):sumber
Saya ternyata tidak cocok antara
activate.sh
file Virtualenv dan MSYSGIT. Itu tidak pernah dimaksudkan untuk bekerja di Windows.sumber
Versi terbaru Windows 10 mendukung pemasangan subsistem Linux. Jika Anda lari dari sana, jalan harus benar.
Ini harus menjadi solusi yang berfungsi jika Anda baik-baik saja dengan menjalankannya seperti itu.
sumber
Akar masalahnya adalah bahwa ruang di shebang ditafsirkan sebagai memasok argumen tambahan untuk dieksekusi, sehingga
C:\Program Files\Python\python.exe
dilihat sebagaiC:\Program
diberikanFiles\Python\python.exe
sebagai argumen.Solusi terbaik untuk ini, karena Windows MENCINTAI ruang di
$HOME
direktori danProgram 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 tambahkanC:\Python
folder tempatpython.exe
tinggal danScripts
direktori yang tinggal di dalamnya kePATH
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
danC:\Python36
danC:\Python37
dan mengubah namapython.exe
untukpython2.exe
,python36.exe
,python37.exe
, dll dan menambahkan masing-masing folder dan merekaScripts
folder ke dalamPATH
. Anda mungkin ingin menentukan versi Python 3 mana yang Anda inginkan sebagai "default" dan juga membuat salinan di folder itupython3.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.atau di Windows (Powershell):
sumber