[問題] 初學 用Mac遇到permission denied

看板Python作者 (我不是yahoo)時間8年前 (2017/11/16 20:03), 8年前編輯推噓5(5032)
留言37則, 6人參與, 8年前最新討論串1/1
小的本身是文組背景, 最近想開始接觸程式設計, 看 python超入門 這本書並使用macOS系統來自學, 才剛跟著實作一下子就遇到hello world的.py檔拖進終端機 按下enter後出現 -bash: /Users/yaboo/Desktop/hello.py: Permission denied 這樣的文字 已經google過這種狀況的處理方式了, 但找到的解釋都是以內行人的用詞講解, 看了也是一頭霧水, 希望有前輩能提供初學者能理解的解決方式, 或分享初學者適合的教學網站,感謝大家~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.161.14.189 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1510833805.A.F5E.html

11/16 20:31, 8年前 , 1F
假設還沒裝python3,那在終端機輸入python hello.py試試
11/16 20:31, 1F
我已經按照他說的安裝python3.6了... ※ 編輯: yaboo (1.161.14.189), 11/16/2017 20:40:01

11/16 20:53, 8年前 , 2F
那就python3 hello.py
11/16 20:53, 2F

11/16 20:56, 8年前 , 3F
輸入python3,然後將.py拖到終端機,免得換路徑出問題
11/16 20:56, 3F
然後出現這個哈哈 File "<stdin>", line 1 /Users/yaboo/Desktop/hello.py ^ SyntaxError: invalid syntax ※ 編輯: yaboo (114.45.14.251), 11/16/2017 20:59:58

11/16 21:04, 8年前 , 4F
呃~這得等高手解釋,話說既裝了3.6,應可使用IDLE
11/16 21:04, 4F
※ 編輯: yaboo (114.45.14.251), 11/16/2017 21:19:54

11/16 21:09, 8年前 , 5F
開個終端機 然後輸入指令
11/16 21:09, 5F

11/16 21:10, 8年前 , 6F
$cd /Users/yaboo/Desktop
11/16 21:10, 6F

11/16 21:10, 8年前 , 7F
$python3 hello.py
11/16 21:10, 7F

11/16 21:11, 8年前 , 8F
等等~你該不會是終端機與IDLE搞混了吧?
11/16 21:11, 8F
是有IDLE沒錯,但目前為止作者都是用終端機(他稱為互動式介面Interactive shell) 做? 雖然我已經繼續往後面練習了,但是這個問題卡住就覺得心裡有疙瘩XD 而且我mac的文字編輯器不能把副檔名存成.py,所以還是得去安裝atom來coding 我在其他網站看到的資料好像是跟chmod和-w-r-xr--這些我還無法理解的東西有關... ※ 編輯: yaboo (114.45.14.251), 11/16/2017 21:21:36 ※ 編輯: yaboo (114.45.14.251), 11/16/2017 21:22:35

11/16 21:22, 8年前 , 9F
輸入指令前的提示號是>>>,那是IDLE
11/16 21:22, 9F

11/16 21:24, 8年前 , 10F
macOS內建終端機若沒修改設定,應該是 你的帳號$
11/16 21:24, 10F

11/16 21:27, 8年前 , 11F
chmod是unix指令,目前就用 python 檔案名稱 繞過吧
11/16 21:27, 11F

11/16 21:34, 8年前 , 12F
文字編輯 可存.py,不然點一下檔案名稱,也可修改副檔名
11/16 21:34, 12F

11/16 21:36, 8年前 , 13F
你有兩個問題 1. 你把python script 當成bash script
11/16 21:36, 13F

11/16 21:37, 8年前 , 14F
在跑 2. 你的檔案permission, chmod u+x hello.py
11/16 21:37, 14F

11/16 21:38, 8年前 , 15F
可是問題你要跑python script 就用 python3 hello.py
11/16 21:38, 15F

11/16 21:38, 8年前 , 16F
根本不用管 hello.py 的 permission(只要可讀就可跑)
11/16 21:38, 16F
我確實是用終端機在練習@@,而且試了兩種方式 1. 開啟終端機出現yaboo-mac:~ yaboo$ 然後直接拖.py進去,按enter 就出現permission denied 2. yaboo-mac: yaboo$ 再輸入 python3 這樣啟動python3,會出現一串介紹, 然後拖.py進去,按enter 就出現SyntaxError 第2招書上說是避免.py跟mac內建的python2不相容,結果還是這樣嗚嗚嗚... ※ 編輯: yaboo (114.45.14.251), 11/16/2017 21:52:48

11/16 21:52, 8年前 , 17F
你如果想直接打 hello.py 跑程式,你 script 第一行
11/16 21:52, 17F

11/16 21:53, 8年前 , 18F
#!/usr/bin/python3 <-- 看你的python3的路徑在哪
11/16 21:53, 18F

11/16 21:54, 8年前 , 19F
然後你必須讓你的script有可執行的permission
11/16 21:54, 19F

11/16 21:54, 8年前 , 20F
chmod u+x hello.py
11/16 21:54, 20F

11/16 21:55, 8年前 , 21F
你第一行沒有 #!/你的python路徑/python3 終端機當然
11/16 21:55, 21F

11/16 21:55, 8年前 , 22F
把他當成 shell script 跑
11/16 21:55, 22F

11/16 21:57, 8年前 , 23F
應該是python3 /users/yaboo/Desktop/hello.py
11/16 21:57, 23F
我的老天爺這招成功了!!輸入python3和空格,直接拖進.py後再按enter奇蹟就發生了 ~

11/16 21:58, 8年前 , 24F
你不只需要python的知識,你沒有unix簡單概念,你跑
11/16 21:58, 24F

11/16 21:59, 8年前 , 25F
不起來的。
11/16 21:59, 25F

11/16 22:00, 8年前 , 26F
找本unix 或osx 的書看吧
11/16 22:00, 26F
好的好的~ 原來還要unix的背景 那如果對程式設計真的是從0開始的初學者,建議先從什麼書籍開始看比較好呢?

11/16 22:01, 8年前 , 27F
python3後按enter,那就進入終端機的互動式介面
11/16 22:01, 27F
作者沒說要進互動式介面,但他也忘了說要先輸入python3和空格 哈哈哈哈哈 ※ 編輯: yaboo (114.45.14.251), 11/16/2017 22:09:07

11/16 22:03, 8年前 , 28F
應用程式>Python 3.6 檔案夾>IDLE,這才是IDLE
11/16 22:03, 28F

11/17 09:29, 8年前 , 29F
比較想知道你的python 怎麼裝的
11/17 09:29, 29F
https://www.python.org/ 網頁上半部的Download,選擇自己的系統種類下載安裝,Mac到這步就完成了 windows 後續還要到控制台>系統及安全性弄一些設定 ※ 編輯: yaboo (111.241.220.96), 11/17/2017 17:05:44 ※ 編輯: yaboo (111.241.220.96), 11/17/2017 17:06:48

11/17 20:45, 8年前 , 30F
裝python還是建議用一下套件管理程式啦,像是homebrew
11/17 20:45, 30F

11/17 20:45, 8年前 , 31F
或anaconda
11/17 20:45, 31F

11/18 01:22, 8年前 , 32F
ok啦先挑個各系統共通的方法也不錯
11/18 01:22, 32F

11/18 01:24, 8年前 , 33F
不過我還是比較推MIT的神老頭教的python
11/18 01:24, 33F

11/18 01:25, 8年前 , 34F
這人教得好像有點偏門?
11/18 01:25, 34F

11/18 11:23, 8年前 , 35F
裝xcode比較快,我也初學python
11/18 11:23, 35F

11/18 11:24, 8年前 , 36F
一開始用終端機,現在用xcode直接編方便
11/18 11:24, 36F

11/22 08:00, 8年前 , 37F
anaconda比較適合你,裝完就有Jupiter notebook可用
11/22 08:00, 37F
文章代碼(AID): #1Q3NwDzU (Python)