2016-03-14 111 views
4

作爲閱讀本使用anaconda環境而不激活? (例如,在crontab的)

http://conda.pydata.org/docs/using/envs.html

是否有可能直接而不必source activate xxx運行康達蟒?

在VIRTUALENV,你可以找到python的可執行文件的確切位置和運行這樣的事情

./path/to/my/venv/bin/python xxx.py

然後xxx.py將與環境中執行。在Crontab中編寫單線程很方便。

我可以用anaconda/miniconda環境做同樣的事嗎?

我一直在Centos 6.5上試過這個,系統有python 2.5這個太老了。

我安裝的Python 2.7使用miniconda,現在我PIP安裝uWSGI,執行它直接

Could not find platform independent libraries <prefix> 
Could not find platform dependent libraries <exec_prefix> 
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] 
ImportError: No module named site 

但當下暢達ENV它按預期執行。

回答

6

如果conda是您的路徑上:

source activate <env name> && python xxx.py && source deactivate

如果conda是不是你的路徑上,而是安裝:

source /path/to/conda/bin/activate /path/to/desired/env_name/ && python xxx.py && source deactivate

+0

在我的crontab中,這對我完全適用:0 1 * * * source/path/to/conda/bin/activate/path/to/desired/env_name/&& python /path/to/script/xxx.py &&來源停用 – Grant

0

其實,你可以做的完全一樣在miniconda venv。 如果path_to_miniconda是miniconda的安裝目錄,然後

/path_to_miniconda/ENVS/name_of_env /斌/ Python的xxx.py

應該工作。

+3

對於根conda環境而言,這是正確的,但海報問題一般是關於環境的。對於非root用戶環境,conda軟件包可以安裝腳本,以便在環境通過激活/停用「開啓」時運行。因此,最好在嘗試使用它之前激活環境 –

相關問題