簡體   English   中英

Python Shebang無法正常工作

[英]Python shebang not working

Python安裝在:

C:/Python/Python35

在程序的頂部,我輸入:

#!/usr/bin/env python3

我打開Windows命令提示符並輸入:

./words.py

我收到的消息是:

"." is not recognized

有人告訴我這在Windows上應該能很好地工作,所以我感到困惑嗎?

./words.py在Windows命令提示符下不起作用,這種執行腳本的方式適用於Linux / UNIX shell。

如果您使用的是Python 3.3+:

如果已安裝,則Windows Python Launcher py 遵守shebang行( https://docs.python.org/3/using/windows.html#shebang-lines )。

確保已安裝,然后嘗試使用以下命令啟動:

py words.py

這里有多個問題。

  1. Shebangs是Unix的東西 Windows根本無法識別它們。 相反,Windows使用文件擴展名。
  2. Windows上沒有名為/ usr / bin / env的文件 ,因此即使您的工作正常,它也不會做您想要的事情。
  3. Python安裝程序通常會在安裝時將Python與.py文件關聯 如果您的情況不是這樣(因為您禁用了該選項?),則需要修復該問題。
  4. ./something在cmd.exe上不起作用。 .\\somethingsomething

告訴您的人,一定是誤解了您,或者您誤解了他們。

除非您嘗試使用cygwin,否則Shebang行對Windows無效。 如果要將代碼傳遞給可能在linux上運行的人員,則需要它們來確保Windows和linux之間的平穩過渡的另一個原因。

至於“。” Windows中不使用它。 在Linux OS中,其原因是通知命令該腳本位於當前目錄中。

對於Windows,您只需要: python words.py

您的第一個問題是Windows在這里不會將/視為路徑分隔符。 它必須是.\\words.py或僅僅是words.py 這就是為什么您會看到錯誤。

下一個問題是shebang不是Windows命令外殼程序實現的。 它適用於linux shell(以及Windows上類似cygwin的類似linux的shell),因為這些shell讀取可執行文件的開頭部分以查看應如何執行。 Windows通過查看擴展名來做到這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM