导入tensorflow时没有名为'absl'的模块错误

时间:2018-01-28 19:07:10

标签: tensorflow anaconda

我在带有GTX1070的Win 7机器上安装了anaconda。

我一直试图在过去一小时内安装tensorflow gpu版本而没有运气。我按照tensorflow website上的教程进行了操作,但没有成功。他们要求你安装CUDA 8.0和Cudll 6.0。然后我将cudnn64_6.dll,cudart64_80.dll和libnvvp文件夹的位置添加到我的路径变量中。然后,我在conda中设置虚拟环境并运行以下命令:

(0, 0)
(1, 2)
(2, 4)
(3, 6)
(4, 8)

我相信当我这样做时,它会安装tensorflow 1.5,这似乎需要CUDA工具9.0,因为我收到一个错误,说找不到cudart64_80.dll。所以我将我的CUDA工具更新为9.0并下载相应的Cuda库。然后我改变我的路径变量。现在我没有得到任何丢失的DLL错误,但我现在面临以下错误

(tensorflow)C:> pip install --ignore-installed --upgrade tensorflow-gpu 

有没有人对我能从这里做什么有任何建议?

10 个答案:

答案 0 :(得分:6)

这是由我的Python版本问题引起的。我在Python 2.x上安装了absl软件包,但是我的Python 3.x没有该软件包。因此,我只是确保机器上的两个Python都安装了软件包:

sudo pip install absl-py
sudo pip3 install absl-py

答案 1 :(得分:3)

尝试:

conda install tensorflow
conda install -c anaconda absl-py

这对我有用。

有关更多信息,请参见:https://anaconda.org/anaconda/absl-py

答案 2 :(得分:3)

这是我最终解决问题的方法。

即使已经安装了File file = new File("src/Images"); String[] imageNames = file.list(); private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { Image im1=new ImageIcon(this.getClass().getResource("/Images/img1.png")).getImage(); ImageIcon iconLogo1 = new ImageIcon(im1); Image im2=new ImageIcon(this.getClass().getResource("/Images/img2.png")).getImage(); ImageIcon iconLogo2 = new ImageIcon(im2); Image im3=new ImageIcon(this.getClass().getResource("/Images/img3.png")).getImage(); ImageIcon iconLogo3 = new ImageIcon(im3); jLabel1.setIcon(iconLogo1); jLabel2.setIcon(iconLogo2); jLabel3.setIcon(iconLogo3); ArrayList <ImageIcon> list= new ArrayList<>(); list.add(iconLogo3); list.add(iconLogo2); list.add(iconLogo1); Collections.shuffle(list); } ,我仍然收到错误消息。

使用absl-py时出现以下错误:

pip install absl-py

我通过重新安装来修复它,即使用:

Requirement already satisfied: absl-py in c:\users\stack\appdata\local\programs\python\python38\lib\site-packages (0.9.0)
Requirement already satisfied: six in c:\users\stack\appdata\local\programs\python\python38\lib\site-packages (from absl-py) (1.15.0)

然后,我遇到了与包装类似的错误: pip uninstall absl-py pip install absl-py

还通过卸载然后再次安装来修复ModuleNotFoundError: No module named 'wrapt'

wrapt

答案 3 :(得分:0)

这已经很晚了,但仍然值得发帖。他们在NVidia网站上没有告诉你的是,你需要向环境变量添加一条路径。路径是;

c:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v8.0 \ extras \ CUPTI \ libx64

在您的安装上可能不完全相同,因为它取决于您安装CUDA工具的位置。

您也可以使用pip来安装TF GPU版本,但是pip会安装相当旧的TF 1.1。

答案 4 :(得分:0)

您可以使用Anaconda GUI安装absl-py包来解决问题:

选择uninstall列并搜索absl-py以将其应用。

答案 5 :(得分:0)

对我来说,“ pip3 install absl-py”不起作用:

当我尝试导入tensorflow时,我收到:“ ModuleNotFoundError:No module named'absl'”

  
    
      

导入张量流       追溯(最近一次通话):         文件“”,第1行,位于         在第22行的“ /opt/anaconda3/lib/python3.6/site-packages/tensorflow/init.py”文件中           从tensorflow.python import pywrap_tensorflow#pylint:disable = unused-import         在第63行的“ /opt/anaconda3/lib/python3.6/site-packages/tensorflow/python/init.py”文件中           从tensorflow.python.framework.framework_lib import *#pylint:disable = redefined-builtin         在第25行的“ /opt/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/framework_lib.py”文件中           从tensorflow.python.framework.ops导入图         在第55行的“ /opt/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py”文件中           从tensorflow.python.platform导入应用程序         在第24行的“ /opt/anaconda3/lib/python3.6/site-packages/tensorflow/python/platform/app.py”文件中           从tensorflow.python.platform导入标志         在第25行的“ /opt/anaconda3/lib/python3.6/site-packages/tensorflow/python/platform/flags.py”文件中           从absl.flags导入*#pylint:disable =通配符导入       ModuleNotFoundError:没有名为“ absl”的模块

    
  

但是,如果我从头开始编译absl-py,一切都会正确的:

jk @ D17:〜/ py / 004 / abseil-py-master $ python setup.py install

运行安装

运行bdist_egg 运行egg_info

.......

使用/opt/anaconda3/lib/python3.6/site-packages

已完成absl-py == 0.4.0的处理依赖性

然后:

  
    
      

导入张量流

    
  

还可以

答案 6 :(得分:0)

我遇到了同样的问题,并且pip(或pip3)安装absl-py无法正常工作。

python --version显示我使用了错误的python版本(2.7)。所以我将python版本更改为3.5(https://askubuntu.com/questions/320996/how-to-make-python-program-command-execute-python-3

这对我有用。

答案 7 :(得分:0)

在您的site-packages文件夹中找到与absl-py相关的文件夹并将其删除。尝试重新安装pip3 install absl-py。我以这种方式解决了问题,希望对您有用。

答案 8 :(得分:0)

尝试另一个版本的abs-py。我的默认absl版本是0.8.1和python3.6:

$pip install basl-py==0.8.0

为我工作。

或者将我的环境python版本更改为3.7也可以。

答案 9 :(得分:0)

如果您使用的是 Anaconda,请确保从 Home 安装 jupyter notebook。如果没有,您可以从 python CLI 导入它,但它会给出“导入 TensorFlow 时没有名为‘absl’的模块”