推 ghoster7: 開發環境一定會影響的啊哈哈,只不過我覺得你應該是pyth 05/21 09:32
→ ghoster7: on沒加入到windows環境變數下面的path吧 05/21 09:32
我之前在安裝Anaconda時有把path加到環境變數的選項勾選起來
另外 我自己寫的一些簡單的小程式都可以正常運行
>"< 我想應該這樣設定都沒有問題才對~所以我才不能理解為什麼朋友的程式不行
※ 編輯: cliff3237 (203.68.96.125 臺灣), 05/21/2020 09:42:06
推 moodoa3583: 也許把程式跟錯誤訊息丟上來會更清楚一點 05/21 09:50
舉例來說
def getData():
mydata = (取資料動作)
reutrn mydata
main_data = getData()
然後程式就會回傳
UnboundLocalError: local variable 'mydata' referenced before assignment
雖然把mydata宣告為全域變數就可以解決
但是 在朋友的環境是可以直接執行的
所以才在想說自己是不是少了什麼動作
※ 編輯: cliff3237 (203.68.96.125 臺灣), 05/21/2020 09:59:40
推 ghoster7: mydata沒有用if包住嗎 05/21 10:14
推 ghoster7: 這錯誤滿神奇的,基本上在return前一定可以在local scop 05/21 10:17
→ ghoster7: e找到mydata吧 05/21 10:17
沒有用if包住
所以我也在想是不是我的環境有問題
但是我自己在開發其它程式又可以正常執行
只有用朋友的程式才會有這種狀況
整個不能理解 Q_Q
※ 編輯: cliff3237 (203.68.96.125 臺灣), 05/21/2020 10:23:09
推 davidwales: 首先 不要急 編程有趣的地方在於不斷累積錯誤經驗 05/21 10:47
也是 我太急了
XD 看來先放輕鬆慢慢來好了
※ 編輯: cliff3237 (203.68.96.125 臺灣), 05/21/2020 10:50:10
推 ddavid: getData()那個確實有點神秘,很想看取資料動作長啥樣子XD 05/21 15:05
→ ddavid: 環境的話,讓你朋友跑個pip freeze > requirements.txt 05/21 15:07
→ ddavid: 然後你開個新env去pip install -r requirements.txt 05/21 15:07
→ ddavid: 這樣基本上就可以拿掉package差異這個變因了 05/21 15:08
→ ddavid: 還跑不了才進一步看還有哪些詭異事情 05/21 15:08
→ ddavid: 另外就是,把區域變數宣告成全域怎麼樣都是極度不正常的, 05/21 15:09
→ ddavid: 這絕對不是正常的解法。 05/21 15:10
→ ddavid: 我懷疑是package問題,導致取資料動作那邊根本不會產結果 05/21 15:11
→ ddavid: ,而宣告成全域看似解決,只不過是因為前面某些code也剛好 05/21 15:13
→ ddavid: 用了mydata這變數,但事實上你只是不正常地拿了其他地方的 05/21 15:14
→ ddavid: local值,結果就是早晚會出事 05/21 15:14
謝謝大大的意見
我也感覺我加全域變數是個很不正常的事情
下班回家 我會再去看看requirements.txt是長怎麼樣的
非常感謝您 ^_^
※ 編輯: cliff3237 (203.68.96.125 臺灣), 05/21/2020 16:11:29
→ s860134: 比對一下錯誤行 你描述的狀況不會存在 05/22 09:35