我试图找到熊猫的版本:
def check_library_version():
print("Checking library version")
subprocess.run(f'bash -c "conda activate {ENV_NAME};"', shell=True)
import pandas
pandas.__version__
期望输出:1.1.3
输出:
检查库版本
CommandNotFoundError:您的 shell 尚未正确配置为使用“conda activate”。要初始化您的外壳,请运行
$ conda init <SHELL_NAME>
目前支持的外壳有:
- 猛击
- 鱼
- tcsh
- 亲爱的
- zsh
- 电源外壳
有关更多信息和选项,请参阅“conda init --help”。
重要提示:您可能需要在运行“conda init”后关闭并重新启动 shell。
澄清一下,我不寻求更新当前正在运行的脚本的环境;我只想简单地激活那个环境并找出那里安装了哪个 Pandas 版本。
这根本没有任何意义;当子进程终止时,您激活的 Conda 环境也将终止。
在运行任何 Python 代码之前,您应该(conda init
和)conda activate
您的虚拟环境。
如果你只是想激活,运行一个简单的 Python 脚本作为你当前 Python 的子进程,然后在虚拟环境之外继续当前的脚本,尝试类似
subprocess.run(f"""conda init bash
conda activate {ENV_NAME}
python -c 'import pandas; print(pandas.__version__)'""",
shell=True, executable='/bin/bash', check=True)
这只是将输出打印给用户;如果你的 Python 程序想要接收它,你需要添加正确的标志;
check = subprocess.run(...whatever..., text=True, capture_output=True)
pandas_version = check.stdout
(不幸的是,没有conda init sh
;我不认为上面的任何内容取决于executable='/bin/bash'
其他内容。也许有一种方法可以在 POSIX 中运行它sh
并删除 Bash 要求。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句