Saya menggunakan Windows PowerShell. Katakanlah saya memiliki skrip bernama test.py
yang mencetak beberapa hal. Jika aku melakukan:
PS D:\>.\test.py
kemudian membuka jendela CMD yang mencetak beberapa hal dan kemudian menutup. Ini sebenarnya menjalankan juru bahasa Python di bawah CMD. Jika aku melakukan
PS D:\>python test.py
ini bertindak seperti yang saya harapkan, dengan output muncul di PowerShell.
Bagaimana saya bisa membuatnya sehingga skrip akan berjalan di PowerShell ketika saya baru saja memberikan namanya?
windows
powershell
jcrawfordor
sumber
sumber
PATHEXT
variabel menggunakan jawaban yang diterima zdan di bawah ini, jika Anda meletakkan skrip Python di direktori yang dinamai olehPATH
variabel lingkungan Anda , tidak perlu lagi menyediakan jalur yang memenuhi syarat (atau relatif) untuk menjalankannya lagi. Kemudian skrip Python berperilaku seperti program lain yang diinstal, dan Anda dapat bergabung bersama dalam pipeline dengan program lain / cmdlet ( misalnyaget-clipboard | myscript.py
), dan semua kebaikan lainnya.:)
Jawaban:
Edit variabel lingkungan PATHEXT dan tambahkan ekstensi .py.
Cukup tambahkan baris ini ke profil PowerShell Anda :
atau Anda bisa mengedit PATHEXT secara global di pengaturan sistem (cukup cari di menu Start untuk "lingkungan" dan pilih opsi untuk "Edit variabel lingkungan untuk akun Anda").
sumber
Anda mungkin telah menginstal lebih dari satu versi Python dan versi IDLE yang digunakan lebih baru. Untuk melihat versi python yang Anda miliki, Anda dapat mengetik> python -V di baris perintah. Jika versi itu terlihat sesuai maka Anda mungkin perlu path lengkap ke file sebagai parameter kedua. Misalnya> python C: \ myfile.py.
Jika Anda menginstal Python dengan benar, selalu ada kemungkinan hanya mengetik nama skrip akan menjalankannya dengan python. Misalnya> myfile.py
Saya selalu menemukan bahwa menambahkan C: \ Python27 ke variabel% PATH% dan .PY ke variabel% PATHEXT% membuat skrip yang berjalan lebih mudah. Dalam kasus ini> myfile seharusnya bekerja.
Edit setelah Pembaruan:
Mengetik hanya> python tanpa parameter membuka python dalam 'mode interaktif' yang berbeda dari mode batch atau scripting yang menjadi tujuan skrip Anda. Jika dieksekusi dengan argumen, argumen pertama diambil sebagai path file dan argumen lebih lanjut diteruskan ke skrip dalam daftar sys.argv.
sumber