gpt4 book ai didi

python - 如何在子 shell 中激活 conda env?

转载 作者:行者123 更新时间:2023-11-29 09:06:59 25 4
gpt4 key购买 nike

我写了一个 python 程序。如果我有这样的 shebang:

#!/usr/bin/python

然后我使文件可执行:

$ chmod 755 program.py

我可以这样运行程序:

$ ./program.py

问题来了。我用 conda virtual environments .当我像上面那样运行程序时,系统会创建一个无法识别事件环境的子外壳:

(my_env) $ ./program.py
ImportError: No module named pymongo

如果我这样做,但是...

(my_env) $ python program.py
# blah blah... runs great

如何在子 shell 中指定正确的使用环境?是否可以?我想省去输入 6 个字符串 python 的麻烦。

另一个帖子,Shebangs in conda managed environments ,简要介绍了这一点,但没有提供正确的答案。它没有在子 shell 中激活环境,而是说,继续并忽略 shebang...只需使用 $ python program.py 语法。

最佳答案

在你的脚本中,改变...

#!/usr/bin/python

...到:

#!/usr/bin/env python

激活的 conda 环境使用的 python 是 ${CONDA_PREFIX}/bin/python 而不是 /usr/bin/python

注意到区别了吗?

(root) ~/condaexpts$ which python
/home/ubuntu/condaexpts/m3/bin/python

(root) ~/condaexpts$ /usr/bin/env python
Python 3.5.2 |Continuum Analytics, Inc.| (default, Jul 2 2016, 17:53:06)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

(root) ~/condaexpts$ source deactivate

~/condaexpts$ which python
/usr/bin/python

~/condaexpts$ /usr/bin/env python
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

关于python - 如何在子 shell 中激活 conda env?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41914739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com