gpt4 book ai didi

python - 无法使用bash脚本在virtualenv中运行python脚本

转载 作者:太空宇宙 更新时间:2023-11-03 12:00:43 27 4
gpt4 key购买 nike

我想在内置的 anaconda 环境 tensorflow_p36 中运行 python 脚本。为了检查它是否在虚拟环境中,我使用命令 pip -V


我第一次尝试 bash 脚本:

#!/bin/bash
source activate tensorflow_p36
python /home/ec2-user/abc/temp.py
pip -V

注意:tensorflow_p36 是一个内置环境,不需要从特定的 /env/bin 目录调用。它可以从任何目录激活。我认为这是 Amazon Deep Learning AMIs 的一个特点.


我对 bash 脚本的第二次尝试:

#!/bin/bash
pythonEnv="/home/ec2-user/anaconda3/envs/tensorflow_p36/"
source ${pythonEnv}bin/activate
${pythonEnv}bin/python /home/ec2-user/abc/temp.py
pip -V

注意:当我尝试在终端中运行 source/home/ec2-user/anaconda3/envs/tensorflow_p36/bin/activate 命令时,环境没有被激活。


每次,我都得到相同的结果:

来自/home/ec2-user/anaconda3/lib/python3.6/site-packages (python 3.6) 的 pip 9.0.1

然而,我应该得到:

pip 9.0.1 from /home/ec2-user/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages (python 3.6)

有人可以解释一下如何激活虚拟环境并从该环境运行 python 脚本吗?由于其中安装了依赖项,我需要使用这个特定的环境。

额外信息:不确定这是否重要,但 tensorflow_p36 是一个 conda environment ,不是虚拟环境。

最佳答案

这适用于 virtualenv。创建环境:

virtualenv -p python 3.6 tensorflow_p36

然后将脚本更改为:

#!/bin/bash
source $HOME/tensorflow_p36/bin/activate
python /home/ec2-user/abc/temp.py

我认为混淆与您使用 anaconda 而不是 virtualenv 来创建 python 环境这一事实有关。这两种工具的工作方式不同。

如果您使用的是 EC2 实例,为什么不全局安装 tensorflow_p36

关于python - 无法使用bash脚本在virtualenv中运行python脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49150036/

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