Conda不使用已安装的软件包,而是从外部使用软件包

时间:2018-10-29 12:48:56

标签: python tensorflow conda

使用conda环境时出现问题。

我可以通过以下方式简单地创建环境:

conda create -n NAME python==3.5

因此有一个python 3.5虚拟环境。 然后进入虚拟环境,并使用以下命令安装tensorflow-gpu:

conda install tensorflow-gpu

现在我可以看到tensorflow-gpu软件包以及cudatoolkit和cudnn。 但是,当我运行一个简单的程序时,它只是无法使用gpu。我不认为这是nvidia驱动程序问题或来自其他资源的软件包,因为它可以在旧的conda环境中工作,但是当我创建新的程序时,它会失败。

更有趣的是它将从环境外部使用软件包(tensorrt和uff)。

当我使用python 3.6创建一个新环境时,它可以使用tensorflow-gpu正常工作,并且无法导入该环境中未安装的软件包。

有人知道如何解决该问题吗?

  

Ubuntu 16.04

     

Tensorflow 1.8.0

     

Python 3.5和3.6

     

TensorRT 5.0.0.10

2 个答案:

答案 0 :(得分:1)

我已经解决了。 原来,这个问题是conda环境添加了来自本地的路径,并从本地路径而不是环境中导入了软件包。

如果遇到相同的问题,请尝试通过以下方法在conda环境中打开python:

python

并检查系统路径:

import sys
print(sys.path)

如果有外部库,则使用以下命令将其删除:

rm -r ~/PATH

此问题可能源于在某些程序中无意添加路径。

希望有帮助。

答案 1 :(得分:0)

如果使用jupyter笔记本,也会发生这种情况。例如, 如果您已经安装了jupyter笔记本并且随后创建了环境,则jupyter笔记本不在该环境范围内,并且会忽略您在环境中安装的所有软件包。我需要在创建的每个环境中都安装jupyter笔记本,以防止发生这些错误。