2010-11-17 22 views
2

所以,事實證明我錯過了我的PYTHONPATH定義中的分號。但是,這隻能讓我走到盡頭。出於某種原因,我的腳本沒有作爲一個計劃任務(在WinXP上)工作,直到我明確地將一個目錄從PYTHONPATH添加到我的腳本頂部。什麼時候使用sys.path.append和修改%PYTHONPATH%就夠了

問題是: 什麼時候需要顯式地附加一些東西給我的路徑,什麼時候可以簡單地依賴環境變量?

+0

你是如何安排腳本的? – Mark 2010-11-17 20:07:50

+0

對不起,@mark。我更新了我的問題,以顯示我使用WinXP scheduledTasks進行安排。 – Ramy 2010-11-17 20:11:26

回答

4

也許你沒有運行在正確的憑據(註冊名)計劃的任務。在「系統屬性」對話框中定義環境變量時,它們可以是用戶級別或系統級別。如果您將PYTHONPATH定義爲用戶級別,則您的計劃任務必須以該用戶的身份運行,以便正確設置。我相信製作它系統級別意味着它將適用於所有用戶,除非他們有自己的價值定義。

下面是一個屏幕截圖,顯示了設置環境變量的位置。它在Windows XP和Windows 7中都很相似。右側對話框的上半部分顯示了當前用戶級別的設置,下半部分列出了所有系統級別的設置。

screenshot of environment variable dialog box

如果PYTHONPATH出現在上用戶級別的組名稱列表,可以有效地它首先刪除移動到另一個較低的一個,然後加入同一個名字的一個加上相關的價值較低的系統級設置。爲了節省一些輸入,您可以編輯之前的用戶級變量您可以刪除它,以便有機會先複製其當前值,然後取消操作。這樣,當您製作新的系統級副本時,您只需將複製的值粘貼到其中即可。

+0

兩件事:1)我怎麼知道我是否創建了一個系統級變量。這似乎與發生了什麼事,但我沒有看到任何告訴我,我設置的變量是在系統還是用戶級別。 2.)如果它在用戶級別,我如何將其更改爲系統級別? – Ramy 2010-11-17 21:12:24

+0

@Ramy:我更新了我的答案,以回答您的每一個進一步的問題。 – martineau 2010-11-18 10:56:22

0

如果其他模塊屬於同一個軟件包,您應負責定位它們,如果它們沒有以常規格式存儲(即,將路徑附加到sys) 。

如果其他模塊是用戶可配置的,則用戶必須指定安裝路徑 槽PYTHONPATH

+0

模塊屬於同一個軟件包意味着什麼? – Ramy 2010-11-17 20:15:40

相關問題