2011-10-10 35 views
5

我在Windows 7上使用cygwin來運行激活python腳本的bash腳本,並且出現以下錯誤:usr/bin/env:糟糕的解釋器權限被拒絕 - >如何更改fstab

myscript.script: /cydrive/c/users/mydrive/folder/myscript.py: usr/bin/env: bad interpreter: Permission Denied.

我是一個總的新手到編程,所以我已經繞了一下看了看,我認爲這意味着Python是安裝在我沒有訪問到不同的目錄。然而,基於我發現,我已經嘗試以下操作:

  • 改變的東西(從用戶到執行)在fstab中:但是,我的fstab文件是全部註釋掉,只提到了默認值是什麼。我不知道如何改變默認值。 fstab.d文件夾是空的。
  • 更改#! usr/bin/env Python腳本中的行到Python的實際位置:沒有工作,同樣的錯誤
  • 將一個PYTHONPATH添加到windows的環境變量中:同樣的錯誤。

我真的很感激,如果有人能幫我一個建議!

回答

8

您腳本應該這樣開始:

#! /usr/bin/env whateverelse ... 
^this first one is important 
+1

您的意思是'#!/ usr/bin/env python',那個空間也很重要。 –

+2

該空間是可選的。兩者都有效。 – Mat

+3

'空白!都沒問題。「 - 丹尼斯·裏奇。我還有其他經驗,但這在執行過程中一定是錯誤的......你是對的。 Upvoted;我學到了一些東西:-) –

1

這似乎是一個遲到的答案,但可能是有用的人。當我試圖運行使用python的shell腳本時,我得到了同樣的錯誤。請檢查\ usr \ bin中是否存在python。如果找不到,請安裝該解決方案來解決問題。我得出這樣一個結論,因爲錯誤顯示「糟糕的解釋者」。

0

我會建議你'以管理員身份運行cygwin'謝謝。 編輯: - 嘗試chmod的權限閱讀更多here

1

你應該寫你的命令'python ./example.py',然後修復它在你的腳本。

-1

您可以通過使用禁用SELinux

setEnforce 0 

更多info有關如何使用SELinux

2

這是混帳擊我。我改變了.py文件被運行的第一線(家當線),離開原來,增加它上面的一個,而且工作:

#!python 
#!C:\Users\Emiri\Anaconda\envs\_build\python.exe 

(「埃米爾」並不在我的系統上不存在,在zipline安裝中被硬編碼)