#python #eclipse
#python #eclipse
Вопрос:
Структура папок:
src
root
nested
myprogram.py
helper.py
res
excluded.txt
whitelist.txt
Вариант 1 — Создайте проект PyDev в eclipse. Запуск от конфигурации PyDev. Укажите основной модуль и все остальное. Основной модуль myprogram.py. При запуске с использованием eclipse я получаю сообщение об ошибке —
IOError: [Ошибка 2] Нет такого файла или каталога: ‘.resexcluded.txt ‘
excluded.txt указан как => excluded_words_file = r’.resexcluded.txt ‘, внутри myprogram.py
Случай 2. Запустите скрипт myprogram.py использование командной строки. Работает отлично.
Единственное отличие заключается в том, что Eclipse также использует SVN source control для этого проекта. Итак, я попытался после отключения проекта от репозитория. Но все та же проблема.
Итак, что я могу делать неправильно в настройке Eclipse? Спасибо.
Комментарии:
1. Я думаю, что Eclipse обрабатывает
src
как рабочий каталог. Попробуйте изменить путь к файлу наexcluded_words_file = r'nestedresexcluded.txt'
и проверьте, работает ли это.2. Если вы не хотите изменять жестко заданный путь к файлу, вы также можете перейти в «Выполнить» / «Конфигурации запуска …» , выберите конфигурацию запуска для myprogram.py и измените рабочий каталог на вкладке «Аргументы».
Ответ №1:
Быстрая отладка с :
import os
print os.getcwd()
должно позволить вам увидеть, что eclipse запускается не из того каталога, который вы размещаете сами при вызове из командной строки.
Из модуля python -> щелкните правой кнопкой мыши -> свойства -> настройки запуска / отладки -> запуск python -> аргументы, вы можете изменить рабочий каталог. ИМХО, это не очень хорошая идея, лучше измените программу так, чтобы она считывалась с абсолютного пути, чтобы она работала независимо от того, где развернута.
Комментарии:
1. Спасибо. Я отлаживал, используя это. И да, я изменю программу для чтения по абсолютному пути в моей следующей версии.
Ответ №2:
Для меня это звучит как проблема с путем. Опубликуйте то, что вы видите, когда выполняете
import sys
print sys.path
OP говорит, что sys.path
выводит следующее
C:Documents and Settingssumod_pawgiworkspaceSWCTestersrcrootnested
C:eclipsepluginsorg.python.pydev.debug_2.1.0.2011052613pysrc
C:Documents and Settingssumod_pawgiworkspaceSWCTestersrc
C:Python25Libsite-packages
C:Python25
C:Python25DLLs
C:Python25lib
C:Python25liblib-tk
C:Python25libplat-win
C:WINDOWSsystem32python25.zip
C:eclipsepluginsorg.python.pydev_2.0.0.2011040403PySrc
C:Python25Libsite-packagespy2exe
Из того, что я вижу, я могу определить как проблему: вашего res
каталога нет в вашем path. Это можно исправить одним из двух способов:
- выполните
sys.path.append('path/to/res/directory')
- добавьте
res
каталог в path в конфигурациях запуска PyDev
или
- Щелкните правой кнопкой мыши на файле *.py (в Eclipse), выберите «Запустить как»-> «Запустить конфигурации …»
- С правой стороны выберите вкладку «Аргументы».
- Проверьте раздел «Рабочий каталог», проверьте выбранный рабочий каталог (все необходимые файлы должны присутствовать там — если нет, нажмите на кнопку «Рабочее пространство» и выберите папку из рабочего пространства)
Комментарии:
1. Спасибо. Вот что написано в моем path — C:Documents и настройкиsumod_pawgiworkspace SWCTestersrc root nested C:eclipsepluginsorg.python.pydev.debug_2.1.0.2011052613pysrc C:Documents и настройкиsumod_pawgiworkspace SWCTestersrc C:Python25Libsite-packages C:Python25 C:Python25DLLs C:Python25lib C:Python25liblib-tk C:Python25libplat-win C:WINDOWSsystem32python25.zip C:eclipsepluginsorg.python.pydev_2.0.0.2011040403PySrc C:Python25Libsite-packagespy2exe
2. Если моя правка не сработает, не стесняйтесь комментировать, и я сделаю все возможное, чтобы помочь