2016-11-30 54 views
0

我是python和pydev的新手。我有tensorflow源,并且能够使用python3 /pathtoexamplefile.py运行示例文件。我想尝试通过pydev中的word2vec_basic.py代码。该debuger保持扔 文件从tensorflow.python进口pywrap_tensorflow 导入错误 “/用户/我/工作区/ tensorflow/tensorflow /蟒蛇/ 初始化 py” 为45行,在 :不能导入名称 'pywrap_tensorflow'无法在pydev或工作目录中输入tensorflow

我认为这与工作目录有关。我能够从我的主目录运行python3 -c'import tensorflow'。但是,一旦我输入/ Users/me/workspace/tensorflow,命令会引发同样的错误,引用同一行45.

有人可以帮助我通过这部分吗?谢谢。

enter image description here

+0

请添加以下信息以便能够帮助您:pydev package explorer的屏幕截图(查看您的项目的结构)以及完整的堆栈跟踪(不仅是最后一条消息)。已添加 –

+0

屏幕截图。 – bhomass

回答

0

尝试做两件事情:

  1. 更新到5.4.0的PyDev并启用与 '-m' 标志运行支持(在首选项>的PyDev>运行)。

  2. 在Run> Run Configurations>中选择启动并将工作目录更改为项目位置。

然后,尝试再次运行它。如果它仍然失败,发布你的完整堆栈跟踪...此外,树的截图不应该扩展tensorflow的所有来源(即:我对与项目和源文件夹相关的图标感兴趣了解如何在PyDev中制作PYTHONPATH配置,而不是张量流模块的内部内容)。

+0

“选择启动并将工作目录更改为项目位置。”我选择了“$ {project_loc:/ selected project name}”的默认值。这是你的意思吗?现在我得到一个简单的一行转储:/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4:找到'tensorflow.examples.tutorials.word2vec.word2vec_basic'(:无法导入名称'pywrap_tensorflow') – bhomass

+0

eclipse只需执行以下行:/Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4 -u/Users/me/workspace/tensorflow/tensorflow/examples/tutorials /word2vec/word2vec_basic.py,它几乎可以在任何目录下在eclipse外完美工作。我尝试将启动配置工作目录设置为几个不同的目录,但它总是导致ImportError失败:无法导入名称'pywrap_tensorflow'。在eclipse和命令行中运行还有什么不同? – bhomass

+0

我发现了代码在eclipse和命令行之间运行的区别。在eclipse中,它运行所有的_init_.py,即使那些包含可执行文件的父包。从命令行运行时,不会发生。 _init_.py如何工作?为什么不同,我可以得到eclipse跳过父包_init_.py,所以它就像从命令行一样工作? – bhomass

0

好的,问题是整个张量流源树是在eclipse项目中。它感到困惑的是是否要去源树的其他分支或安装的tensorflow模块。我创建了一个单独的py2v项目,只有word2vec目录,现在它在eclipse中运行。

+0

不错,你已经能够解决它;) –