如果我在conda环境中已经安装了tensorflow,如果我进入屏幕然后python -c "import tensorflow";
,则表示找不到模块。然而,没有屏幕它很好。
答案 0 :(得分:24)
我遇到了同样的问题:我激活了一个conda环境,让我们说 my_env ,我可以在 my_env 中使用tensorflow。然后,我去屏幕。在这里,我无法再导入tensorflow。这很奇怪,因为在屏幕上,我仍然看到 my_env 在" conda env list"或者" conda list"中列出的张量或张量流。
对我来说,一个解决方法是在进入屏幕之前停用该环境。进入屏幕后,我激活 my_env 。然后,我能够使用 my_env 中包含的tensorflow。
答案 1 :(得分:6)
您需要做的就是在进入屏幕之前停用环境
source deactivate
然后进入屏幕
screen -R my_screen
然后激活环境
source activate myenv
答案 2 :(得分:2)
此问题是通过在$ HOME / .bashrc文件中添加类似于以下内容的行而造成的:
export PATH=$HOME/anaconda3/bin:$PATH
当屏幕启动时,它将再次运行您的.bashrc脚本,并导致路径以$ HOME / anaconda3 / bin的另一个版本开头。即使您在屏幕会话中再次激活虚拟环境,shell最终仍将使用错误的python副本。
使用Anaconda> 4.4修复此问题的推荐方法是删除设置路径的行,并将以下内容添加到您的.bashrc文件中
. $HOME/anaconda3/etc/profile.d/conda.sh
这还具有另一个优点,即您现在可以使用conda命令激活和停用anaconda环境。例如
conda activate myenv
有关更多信息,请查看https://github.com/conda/conda/blob/master/CHANGELOG.md#440-2017-12-20
答案 3 :(得分:0)
你可以做的是先sart screen
,然后激活conda环境conda activate my_env