2014-09-04 63 views
-1

我想創建Python(2.7)代碼在Linux和Windows下工作。我需要特別考慮什麼?我需要照顧的區別是什麼?是否有可用的摘要列出可能的陷阱?當我爲Linux和Windows開發Python代碼時需要考慮什麼?

+1

這是一個很好的討論話題,例如[聊天](http://chat.stackoverflow.com/rooms/6/python)。與SO主頁的Q&A格式不太一樣。 – Fenikso 2014-09-04 12:00:42

+0

擴展Fenikso的觀點。 SO主頁的工作原理是用戶提出一個簡潔明確的問題,解釋他們想要做什麼以及他們嘗試過什麼。我們傾向於直接處理代碼,有時處理代碼,但始終處於特定的上下文中。對我來說,這樣的問題屬於「我如何學習python」的環境,在這裏往往不會太好。嘗試在歡迎公開討論的地方提問,而不是嚴格的問答平臺。 – 2014-09-04 12:15:10

回答

0

我一直在Windows上開發2.7代碼(Python)的代碼,我打算將它轉移到覆盆子pi嵌入式系統(使用Linux發行版)。

的事情我在搬過來時牢記:

  1. 庫非常重要的是知道什麼是支持在Windows和Linux發行版的
  2. 權限也非常重要,因爲Windows用戶是通過默認的admin,而Linux需要sudo或更高的權限,通常無法訪問。
  3. 目錄,如果您在Windows中列出任何目錄並簡單地複製代碼,該訪問將有很高的失敗機率。
+0

想知道我做錯了什麼,以獲得upvotes讓我的生活更輕鬆:P – Pariah 2014-09-04 13:50:13

2

要添加到@帕里亞的答案:確保#!行在那裏,編寫一個python程序來插入它是相當容易的。同樣,如果您使用類似於dos2unix的命令從行結束中刪除「\ r」,它會使生活更輕鬆。就我個人而言,我必須添加#!與行結束的線交易,並且做一個chmod好措施。

在Windows上,值得注意的是/是路徑名中的有效目錄分隔符,因此可以使用,但使用os.path.join更安全。通常,儘量避免硬編碼路徑。

作爲Windows上文本的文件IO將插入(寫入)或刪除(讀取)'\ r',因此隨機訪問應使用二進制(打開模式爲'wb'或'rb')。

環境變量(如果使用它們)在Windows上不區分大小寫,但在Linux上。

儘量保持Python版本相同。如果你不這樣做,你不一定會得到問題,但是當你發現一個程序在一個程序上運行但是另一個程序運行失敗時,它確實規定了一個嫌疑犯。另外,如果一個是64位的,那麼確保另一個也是。這對大多數Python代碼應該是不可見的,但是您需要排除儘可能多的差異。

相關問題