新手請教~如何使用NAS執行Python(*.py)~~??(已搞定)

剛買Synology DS 218+ 4TB*2 , 拿來儲存資料相片很不錯用 ~蠻順的!!
但最近在玩Python,發覺nas裡也有python3.5的套件~!
網路上查也說nas可以排程自動執行Python....

例如這連結範例 : https://doublech.synology.me/WpCH/?p=194

結果我自己寫好可以在電腦順利執行的*.py檔,放進去nas,就是執行不了....不曉得是什麼問題??
有請大神~幫我看看是哪兒設定出問題~還是有其他方式可以執行~??

以下是我的設定和使用者定義指令碼:新手請教~如何使用NAS執行Python(*.py)~~??(已搞定)
2020-06-24 18:50 發佈
縮成一行,把 .py 檔作為 python 參數
你分兩行等於是讓 sh 執行 python,又用 sh 執行 .py
tyf000 wrote:
縮成一行,把 .py(恕刪)


請教一下,以下是我的原碼,若縮成一行,我執行還是不行,沒反應,格式有錯嗎.....??
/volume1/@appstore/py3k/usr/local/lib/python3.5 #主程式的路徑
/volume1/homes/admin/Drive/123.py #執行檔案的路徑

我是縮成這樣:
/volume1/@appstore/py3k/usr/local/lib/python3.5 /volume1/homes/admin/Drive/123.py

兩行中間要用什麼符號作區隔嗎??

幫我解解惑,罷拖了~我搞很久都不行!!

我有使用SSH進去看,確定NAS中的Python3是可以正常運作滴!!!
其實是有執行的, 只是不知道是否 bug, 檢視指令碼, 標準輸出 都是空白

請改成下列方式驗證

/volume1/@appstore/py3k/usr/local/lib/python3.5 /volume1/homes/admin/Drive/123.py > /volume1/homes/admin/Drive/123.txt

將輸出結果導到 123.txt, 再檢查輸出結果
ganker wrote:
請教一下,以下是我的(恕刪)


你把這個打開,把執行結果寄到自己信箱看看
print("run test!")
執行成功會寄來 run test!
不能執行也會寄來錯誤訊息
TheTurtle wrote:
其實是有執行的, 只(恕刪)


我剛剛有試執行看看您這行程式,有在該資料夾內產生空白內容的123.txt
這樣的驗證,是驗證sh有跑還是python有跑呢.....??
我的123.py還是沒有執行...!!


這是我123.py的檔案內容,其實就是輸出一個*.csv檔而已~~
ganker wrote:
我剛剛有試執行看看您(恕刪)

我的 123.py 內容

print('hello world')

所以會有 standard output , 也就是 hello world 會被導到 123.txt, 你的程式沒有任何 standard output, 當然就拿到一個空檔
TheTurtle wrote:
/volume1/homes/admin/Drive/123.txt


我將定義碼內容換過幾次後,得到下列幾個結果:
方法1.定義碼內容:
/volume1/@appstore/py3k/usr/local/lib/python3.5 #主程式路徑
/volume1/homes/admin/Drive/456.py #456.py的內容是 print('hello world')



結論:
sh: /volume1/@appstore/py3k/usr/local/lib/python3.5: Is a directory
=>它說這是個目錄,所以路徑可能錯誤

/volume1/homes/admin/Drive/456.py: line 1: syntax error near unexpected token `'hello world''
=>只是單純印出hello world,我也不知道錯在哪?

/volume1/homes/admin/Drive/456.py: line 1: 'print('hello world')'
=>所以這是成功印出嗎???

方法2.定義碼內容:
/usr/local/bin/python3 #換成另一個主程式路徑
/volume1/homes/admin/Drive/456.py #456.py的內容是 print('hello world')
/volume1/homes/admin/Drive/456.txt #照理來說要把hello world印到465.txt



mail的輸出結果:



結論:
1. 主程式是目錄的問題,似乎解決了!!!

2. /volume1/homes/admin/Drive/456.py: line 1: syntax error near unexpected token `'hello world''
=>依然存在!!

3. /volume1/homes/admin/Drive/456.py: line 1: 'print('hello world')'
=>依然存在!!

4.在456.txt並沒有印出'hello world'(檔案大小為0bytes)


目前可以用mail來debug,感覺蠻不錯的,希望可以真正的運作起來~~繼續加油!!!

另外我使用python的IDE去跑456.py,則順利印出hello world,沒有任何錯誤!!



===================================================================
玩了一整天,終於搞定....
直接告訴癥結點 :
1.系.....統....沒....安....裝....pip........><"~安裝好就可以印hello world!!
2.定義碼,兩行間空格即可,內容如下:
/usr/local/bin/python3 /volume1/homes/admin/Drive/123.py
詳細說明:/usr/local/bin/python3空一格即可/volume1/homes/admin/Drive/123.py

成果如下:


本篇文感謝tyhf000及 The Turtle兩位大大的鼎力相助~終於解決了~爽~~!!!
PS:可以用Mail Debug真的很關鍵~~!!!
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?