2016-11-30 2 views
0

Я новичок в python и pydev. У меня есть источник tensorflow и я могу запускать файлы примеров с помощью python3 /pathtoexamplefile.py. Я хочу попытаться пройти через word2vec_basic.py код внутри pydev. Debuger продолжать бросать File "/ Users/мне/рабочее пространство/tensorflow/tensorflow/питон/INIT .py", строка 45, в от tensorflow.python импорта pywrap_tensorflow ImportError: не может импортировать имя 'pywrap_tensorflow'не может импортировать shadoworflow в pydev или рабочий каталог

Я думаю, что это имеет какое-то отношение к рабочему каталогу. Я могу запустить python3 -c 'import tensorflow' из моего домашнего каталога. Но, как только я войду в/Users/me/workspace/tensorflow, команда выдает ту же ошибку, ссылаясь на ту же строку 45.

Может кто-нибудь помочь мне через эту часть? Спасибо.

enter image description here

+0

Пожалуйста, добавьте следующую информацию, чтобы помочь вам в этом: скриншот файла explorer пакета pydev (чтобы посмотреть, как структурирован ваш проект) и полную трассировку стека (а не только последнее сообщение). –

+0

снимок экрана. – bhomass

ответ

0

Попытка сделать 2 вещи:

  1. Обновить до PyDev 5.4.0 и включить поддержку работы с '-m' флаг (в Preferences> PyDev> Run).

  2. Перейти к началу страницы Запуск> Запуск конфигурации> Выберите запуск и измените рабочий каталог как место проекта.

Затем попробуйте запустить его снова. Если он по-прежнему не удается, отправьте свой полный трассировку стека ... также на скриншоте для дерева не должно быть всего источника для расширения тензорного потока (т. Е. Меня интересуют значки, связанные с проектной и исходной папками, знаете, как вы создали свою конфигурацию PYTHONPATH внутри PyDev, а не внутреннее содержимое модуля tensorflow).

+0

«Выберите запуск и измените рабочий каталог как место проекта». Я выбрал значение по умолчанию "$ {project_loc:/selected project name}". Это ты имел в виду? Теперь я получаю простой однострочный дамп: /Library/Frameworks/Python.framework/Versions/3.4/bin/python3.4: Ошибка при поиске spec для '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 vs? – bhomass

+0

Я нашел разницу в том, как код работает внутри eclipse vs из командной строки. Внутри eclipse он запускает все _init_.py даже те, у которых родительские пакеты исполняемого файла. При запуске из командной строки этого не происходит. Как работает _init_.py? почему разница. Могу ли я получить eclipse, чтобы пропустить родительский пакет _init_.py, поэтому он работает так же, как из командной строки? – bhomass

0

Хорошо, проблема в том, что все дерево источников тензорного потока находится внутри проекта eclipse. Его путают, следует ли перейти к другим ветвям исходного дерева или к установленным модулям тензорного потока. Я создал отдельный проект pydev только с каталогом word2vec, и теперь он запускается внутри eclipse.

+0

Приятно, что вы смогли это решить;) –