作者yaboo (我不是yahoo)
看板Python
標題[問題] 初學 用Mac遇到permission denied
時間Thu Nov 16 20:03:22 2017
小的本身是文組背景,
最近想開始接觸程式設計,
看 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
→ bjchiou: 假設還沒裝python3,那在終端機輸入python hello.py試試11/16 20:31
我已經按照他說的安裝python3.6了...
※ 編輯: yaboo (1.161.14.189), 11/16/2017 20:40:01
→ bjchiou: 那就python3 hello.py11/16 20:53
→ bjchiou: 輸入python3,然後將.py拖到終端機,免得換路徑出問題11/16 20:56
然後出現這個哈哈
File "<stdin>", line 1
/Users/yaboo/Desktop/hello.py
^
SyntaxError: invalid syntax
※ 編輯: yaboo (114.45.14.251), 11/16/2017 20:59:58
→ bjchiou: 呃~這得等高手解釋,話說既裝了3.6,應可使用IDLE11/16 21:04
※ 編輯: yaboo (114.45.14.251), 11/16/2017 21:19:54
→ bluecadence: 開個終端機 然後輸入指令11/16 21:09
→ bluecadence: $cd /Users/yaboo/Desktop11/16 21:10
→ bluecadence: $python3 hello.py11/16 21:10
→ bjchiou: 等等~你該不會是終端機與IDLE搞混了吧?11/16 21:11
是有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
→ bjchiou: 輸入指令前的提示號是>>>,那是IDLE11/16 21:22
→ bjchiou: macOS內建終端機若沒修改設定,應該是 你的帳號$11/16 21:24
→ bjchiou: chmod是unix指令,目前就用 python 檔案名稱 繞過吧11/16 21:27
→ bjchiou: 文字編輯 可存.py,不然點一下檔案名稱,也可修改副檔名11/16 21:34
→ bluecadence: 你有兩個問題 1. 你把python script 當成bash script11/16 21:36
→ bluecadence: 在跑 2. 你的檔案permission, chmod u+x hello.py11/16 21:37
→ bluecadence: 可是問題你要跑python script 就用 python3 hello.py11/16 21:38
→ bluecadence: 根本不用管 hello.py 的 permission(只要可讀就可跑)11/16 21:38
我確實是用終端機在練習@@,而且試了兩種方式
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
→ bluecadence: 你如果想直接打 hello.py 跑程式,你 script 第一行11/16 21:52
→ bluecadence: #!/usr/bin/python3 <-- 看你的python3的路徑在哪 11/16 21:53
→ bluecadence: 然後你必須讓你的script有可執行的permission11/16 21:54
→ bluecadence: chmod u+x hello.py11/16 21:54
→ bluecadence: 你第一行沒有 #!/你的python路徑/python3 終端機當然11/16 21:55
→ bluecadence: 把他當成 shell script 跑11/16 21:55
→ bjchiou: 應該是python3 /users/yaboo/Desktop/hello.py11/16 21:57
我的老天爺這招成功了!!輸入python3和空格,直接拖進.py後再按enter奇蹟就發生了
~
→ bluecadence: 你不只需要python的知識,你沒有unix簡單概念,你跑11/16 21:58
→ bluecadence: 不起來的。11/16 21:59
→ bluecadence: 找本unix 或osx 的書看吧11/16 22:00
好的好的~ 原來還要unix的背景
那如果對程式設計真的是從0開始的初學者,建議先從什麼書籍開始看比較好呢?
→ bjchiou: python3後按enter,那就進入終端機的互動式介面11/16 22:01
作者沒說要進互動式介面,但他也忘了說要先輸入python3和空格 哈哈哈哈哈
※ 編輯: yaboo (114.45.14.251), 11/16/2017 22:09:07
→ bjchiou: 應用程式>Python 3.6 檔案夾>IDLE,這才是IDLE11/16 22:03
推 pups003: 比較想知道你的python 怎麼裝的11/17 09:29
到
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
推 pups003: 裝python還是建議用一下套件管理程式啦,像是homebrew 11/17 20:45
→ pups003: 或anaconda 11/17 20:45
推 goldflower: ok啦先挑個各系統共通的方法也不錯 11/18 01:22
→ goldflower: 不過我還是比較推MIT的神老頭教的python 11/18 01:24
→ goldflower: 這人教得好像有點偏門? 11/18 01:25
推 shietsd: 裝xcode比較快,我也初學python 11/18 11:23
→ shietsd: 一開始用終端機,現在用xcode直接編方便 11/18 11:24
推 orafrank: anaconda比較適合你,裝完就有Jupiter notebook可用 11/22 08:00