Скрипт Python работает нормально из командной строки, ошибка файла не найдена при использовании Eclipse и PyDev - PullRequest
1 голос
/ 13 июня 2011

Структура папки:

src
+ root
+ nested
  ++ myprogram.py
  ++ helper.py
  ++ res
    +++ excluded.txt
    +++ whitelist.txt

Пример 1. Создание проекта PyDev в Eclipse. Запустите как конфигурацию PyDev. Укажите основной модуль и все. Основным модулем является myprogram.py. При запуске с использованием Eclipse я получаю сообщение об ошибке - IOError: [Errno 2] Нет такого файла или каталога: '. \ Res \ exclusive.txt' exclude.txt указывается как => exclude_words_file = r.

Случай 2. Запустите скрипт myprogram.py с помощью командной строки. Работает отлично.

Единственное отличие состоит в том, что Eclipse также использует контроль исходного кода SVN для этого проекта. Поэтому я попытался после отключения проекта из хранилища. Но все та же проблема.

Так что же я могу делать не так в настройке Eclipse? Благодаря.

Ответы [ 2 ]

0 голосов
/ 13 июня 2011

Быстрая отладка с:

import os
print os.getcwd()

должен позволить вам видеть, что затмение не запускается из того же каталога, который вы помещаете при вызове из командной строки.

В модуле python -> щелкните правой кнопкой мыши -> свойства -> настройки run / debug -> run python -> arguments, вы можете изменить рабочий каталог. ИМХО не очень хорошая идея, лучше измените программу, чтобы она читалась по абсолютному пути, чтобы она работала независимо от того, где она развернута.

0 голосов
/ 13 июня 2011

Звучит как проблема с путями.Публикуйте то, что вы видите, когда делаете

import sys
print sys.path

ОП говорит, что sys.path выводит следующее

C:\Documents and Settings\sumod_pawgi\workspace\SWCTester\src\root\nested 
C:\eclipse\plugins\org.python.pydev.debug_2.1.0.2011052613\pysrc 
C:\Documents and Settings\sumod_pawgi\workspace\SWCTester\src 
C:\Python25\Lib\site-packages 
C:\Python25 
C:\Python25\DLLs 
C:\Python25\lib 
C:\Python25\lib\lib-tk 
C:\Python25\lib\plat-win 
C:\WINDOWS\system32\python25.zip 
C:\eclipse\plugins\org.python.pydev_2.0.0.2011040403\PySrc 
C:\Python25\Lib\site-packages\py2exe

Из того, что я вижу, я могу определить, как проблему: ваш resкаталог не в вашем пути.Это можно исправить одним из двух способов:

  1. do sys.path.append('path/to/res/directory')
  2. добавить каталог res в путь в PyDev Run Configurations

ИЛИ

  1. Щелкните правой кнопкой мыши файл * .py (в Eclipse), выберите «Запуск от имени» -> «Выполнить конфигурации ...»
  2. В правой части выберитеВкладка «Аргументы».
  3. Проверьте раздел «Рабочий каталог», проверьте выбранный рабочий каталог (там должны присутствовать все необходимые файлы - если нет, нажмите кнопку «Рабочее пространство» и выберите папку из рабочего пространства)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...