現在我有一個使用numpy的腳本,我想在服務器上自動運行。當我ssh和手動運行它,它工作正常。但是,當我將它設置爲cron作業時,它找不到numpy。顯然由於共享的服務器環境,無論出於何種原因,cron惡魔都無法找到numpy。我聯繫了服務器主機的技術支持人員,他們告訴我要設置一個vps或者讓我自己的該死的服務器。有什麼辦法可以解決這個問題嗎?也許,通過將某些numpy文件移動到腳本所在的目錄中?解決方法安裝Numpy?
回答
如果你在服務器的某個地方安裝了numpy,你可以將它添加到python的導入路徑中;在腳本的開始,做這樣的事情:
import sys
sys.path.append("/path/to/numpy")
import numpy
其他答案都非常有用,但由於我無法直接更改crontab文件,所以我不得不使用這個。非常感謝你。 – Strill
的的cronjob一個空的環境中運行。因此,它不是使用與你在shell中相同的python二進制文件,或者你有PYTHONPATH設置,它不會在crontab下。
您應該運行env -i HOME=$HOME sh
以獲得cronjob環境的簡潔。設置環境變量直到你的命令工作,並記錄它們。
然後,您可以設置這些在crontab文件中,再次使用env命令,如:
* * * * * env PYTHONPATH=/my/pythonpath OTHERVAR=correct-value /path/to/mycommand
注意,在crontab文件中設置環境變量的能力取決於'cron'的實現。例如,它不適用於Solaris 10。 – donkopotamus
env -i命令確保所有內容都是如此,但是由於服務器主機只允許我通過其在線GUI間接訪問crontab文件,所以我無法添加任何新行。非常感謝,它確實有幫助。 – Strill
您可以使用env命令將命令添加到命令環境中(這是它的主要目的),例如:'env FOO = bar mycommand')。這應該給你完全的控制權,即使有gui限制。 – bukzor
你的cron作業可能是與不同的Python解釋器執行。
以您(通過ssh)登錄,並說which python
。這會告訴你你的python在哪裏。然後讓你的cron作業執行該python解釋器來運行你的腳本,或chmod +x
你的腳本,並把路徑放在腳本頂部的#!
行。
@bukzor你是對的,我想到的是系統的crontab而不是用戶的crontab。固定 – Seth
由cron守護程序調用的進程具有最小的環境,通常由$HOME
,$LOGNAME
和$SHELL
組成。
這聽起來像numpy也許是$PYTHONPATH
的某個地方?如果是這樣,你需要在crontab行中指定。如
/usr/bin/env PYTHONPATH=... <then the command to run>
如果你是一個Linux系統上使用vixie cron在,那麼你也可以通過使用行指定在crontab全局變量如
# my environment settings
PYTHONPATH = <path>
SOMETHING_ELSE = blah
<then my normal cron line>
見man -s 5 crontab
- 1. 證書安裝安全警告解決方法?
- 2. 安裝Nuget軟件包解決方案
- 3. 從解決方案的NuGet安裝包
- 4. WSO2 MDM解決方案安裝
- 5. 極品NPM解決方案安裝
- 6. 安裝解決方案Sharepoint在線
- 7. 安裝程序無法關閉運行目標...解決方法?
- 8. 如何解決Python的Numpy /熊貓安裝?
- 9. Qt安裝程序框架的解決方法不覆蓋現有安裝
- 10. 安卓ContextCompat.getColor無法解決方法
- 11. 重新包裝第三方軟件的安裝解決方案
- 12. 解決macports安裝'衝突'
- 13. 解決安裝錯誤dexopt
- 14. 安裝numpy
- 15. 在Windows 8.1 x64上的Delphi 6 Update 2安裝解決方法?
- 16. 無法加載 - 爲heroku安裝的解決方案
- 17. 在Windows上安裝MonoDevelop:Gtk#要求的解決方法?
- 18. 針對Apache Ant安裝的解決方法Bug
- 19. 無法解決第三方庫後安裝studio2.3
- 20. 無法在Xamarin解決方案中安裝Optano Modeling
- 21. numpy uint8像素環繞解決方案
- 22. 爲python安裝numpy
- 23. 安裝Anaconda後無法導入numpy
- 24. 無法安裝numpy或nltk python-modules
- 25. 無法在山獅安裝numpy的
- 26. 無法安裝numpy的通過setup.py
- 27. Docker無法安裝numpy,scipy或gensim
- 28. 無法安裝蟒蛇模塊numpy
- 29. IDLE中的問題:無法安裝numpy
- 30. pip安裝numpy - 無法安裝,雖然沒有錯誤
有託管那些以Python支持爲榮的供應商,也許你應該考慮轉換。 –
這不是我的電話,而且服務器最初並不打算用於我的目的。 – Strill
你有我的同情心。 –