ImportError:没有名为tensorflow的模块,但确实存在tensorflow

时间:2017-02-21 07:40:30

标签: python linux

我在linux上用virtualenv安装了tensorflow。在sitepackage文件夹下有一个tensorflow包,但是当我运行从Github下载的demo时,它会显示:

(tensorflow) idc@idc-Hi-Fi-Z77X:~/tensorflow$ sudo python CNN_sentence_tensorflow-master/sentence_classfier_with_tensorflow.py
Traceback (most recent call last):
  File "CNN_sentence_tensorflowmaster/sentence_classfier_with_tensorflow.py", line 13, in <module>
import tensorflow as tf
ImportError: No module named tensorflow

我在界面上这样做。没关系:

(tensorflow) idc@idc-Hi-Fi-Z77X:~/tensorflow/multi-class-text-classification-cnn-master$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import tensorflow as tf
>>>    

2 个答案:

答案 0 :(得分:1)

您正在使用sudo python CNN_sentence_tensorflow-master/sentence_classfier_with_tensorflow.py

如果您使用sudo我认为它将使用您的主要python版本而不是您的virtualenv中的那个

答案 1 :(得分:0)

因为sudo python基本上意味着run python与其他用户(默认为root)相同。该用户可能拥有一组不同的环境变量,包括$PATH

某些Linux发行版为root用户使用较旧的Python版本,例如centos。查看which pythonsudo which python的输出,您会发现它们可能不同。

[~]$ which python
/usr/local/bin/python
[~]$ sudo which python
/usr/bin/python

您可能不需要使用sudo,也可以使用chmod -R 755 /folder设置所有文件和文件夹的权限。

希望这有帮助。