不用activate使用anaconda环境? (例如在 Crontab 中)

Use anaconda environment without activate? (e.g. in Crontab)

正在阅读这篇文章

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

是否可以直接 运行 conda python 而无需 source activate xxx

在 VirtualEnv 中,您可以找到 python 可执行文件的确切位置和 运行 类似这样的东西

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

然后xxx.py将在环境开启的情况下执行。用crontab写一个linder很方便

我可以对 anaconda/miniconda 环境做同样的事情吗?

我一直在 Centos 6.5 上尝试这个,系统有 python 2.5 太旧了。

我用miniconda安装了python 2.7,现在我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

但是在 conda env 下执行它时它按预期工作。

如果 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

实际上,您可以在 miniconda 中执行与 venv 完全相同的操作。 如果path_to_miniconda是你的miniconda安装目录,那么

/path_to_miniconda/envs/name_of_env/bin/python xxx.py

应该可以。