我想從cron運行一個python腳本,但它沒有正常運行,所以我假設它的不同路徑env變量。無論如何改變python腳本中的變量?如何修改python腳本中的系統路徑變量?
回答
您不應該在python腳本中設置PATH。 相反,把類似
USER=joe
HOME=/home/joe
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/some/other/path
PYTHONPATH=/home/joe/pybin
MAILTO=joe
LANG=en_US.UTF-8
#min hr day mon dow
*/5 12 * * * reminder.py 'Eat lunch'
在您的crontab頂部。這些環境變量將可用於通過crontab運行的所有cron作業。
在下面的cron作業的頂部? – 2010-11-02 19:33:26
@Joe:是的;位於頂部,下方有cron作業線。 – unutbu 2010-11-02 19:33:51
@ubuntu有正確的方法,但對於它的價值,@Joe蠢貨,如果你需要的信息:
import sys
print sys.path
['.', '/usr/local/bin', '/usr/local/lib/python2.6/dist-packages',...]
sys.path.append('/home/JoeBlow/python_scripts')
print sys.path
['.', '/usr/local/bin', '/usr/local/lib/python2.6/dist-packages', '/home/JoeBlow/python_scripts',...]
sys.path是在你的初始化腳本的PYTHONPATH數組包含一切變量(或者你的shell的默認PYTHONPATH)。
雖然接受的答案適用於OP的目的,而第二個答案是正確的更新python sys.path變量,我認爲,如果OP不能使用接受的答案(因爲,有一個針對修改/測試機器上的OS PATH變量的策略),像this SO answer這樣的東西就是他們正在尋找的東西。這裏總結了簡單的情況下,改變OS PATH環境變量:
app_path = os.path.join(root_path, 'other', 'dir', 'to', 'app')
os.environ["PATH"] += os.pathsep + app_path
至少,這是我希望能找到我讀的問題。
對於你想要設置PATH的情況(和PYTHONPATH是類似的代碼),雖然請注意sys.path和os.environ ['PATH']是/可以是不同的。 – ntg 2017-11-20 11:22:01
- 1. 如何在python項目中初始化系統路徑變量
- 2. 如何將python腳本添加到Windows系統路徑?
- 3. 從操作系統路徑中的Python腳本使用函數
- 4. 如何通過系統路徑變量從路徑獲取絕對路徑?
- 5. NAnt:路徑系統環境變量
- 6. 如何在Mac上更改我的Python系統路徑?
- 7. 在shell腳本中更改父shell的路徑變量
- 8. 在Windows下自動添加Python路徑到PATH系統變量
- 9. Python模塊路徑如何轉換爲文件系統路徑?
- 10. JQuery的系統變量腳本
- 11. 如何在安裝程序後刷新系統路徑/變量?
- 12. 如何從Python腳本更改python文件中的變量值
- 13. 如何在螞蟻腳本中使用%teamcity.build.checkoutDir%路徑變量(win7)
- 14. Powershell腳本打印出系統路徑中的每個值
- 15. 如何在NAnt腳本中使用系統變量?
- 16. 如何使用os模塊更改Python腳本的路徑
- 17. 在Python中修改變量
- 18. chdir在Python中修改路徑
- 19. python腳本發送變量到wix源代碼路徑
- 20. 如何修改python腳本var與node.js?
- 21. 在Python中將SVN路徑翻譯成本地文件系統路徑
- 22. 只修改Python3的Python路徑
- 23. 修改python的Gobject加載庫路徑
- 24. Jaxb系統路徑
- 25. Python:在WIN7中改變IDLE的路徑
- 26. 在Scala腳本中自修改類路徑?
- 27. 更改系統日誌日誌路徑
- 28. 自我修改python腳本
- 29. 如何修改ubuntu上的envi路徑
- 30. 在python中修復'../../'路徑
您應該提供操作系統詳細信息。此外,這看起來很像一個可能的重複 - 我建議更難搜索。 – 2010-11-02 19:26:08
「不正常運行」是什麼意思?你確定你甚至開始你的腳本(即它可以找到你的python二進制文件) – 2010-11-02 19:32:49
我正在做很多Popen的程序,沒有與他們的路徑。 – 2010-11-02 19:34:06