ImportError: нет модуля с именем test_data, но test_data.py в том же каталоге, что и test.py в PyCharm с использованием virtualenv

В test.py я пытаюсь импортировать test_data:

import unittest2
import re

from test_data import receipt1_example

test_data.py находится в том же каталоге, что и test.py. Я получаю следующую ошибку:

/Users/ahammond/.virtualenvs/ric2.6/bin/python2.6 /Applications/PyCharm.app/helpers/pycharm/utrunner.py /Users/ahammond/src/hackfest_spring_2012/parse_me/test.py::test true Тестирование началось в 11:30... Трассировка (последний последний звонок):
Файл "/Applications/PyCharm.app/helpers/pycharm/utrunner.py", строка 121, в файле module = loadSource(a[0]) "/Applications/PyCharm.app/helpers/pycharm/utrunner.py", строка 44, в loadSource module = imp.load_source(moduleName, fileName) Файл "/Users/ahammond/src/hackfest_spring_2012/parse_me/test.py", строка 4, из test_data import import1_example ImportError: Нет модуля с именем test_data

Процесс завершен с кодом выхода 1

Как вы можете видеть, я запускаю это под pycharm используя virtualenv. Вот скриншот конфигурации:

Конфигурация отладки PyCharm

2 ответа

Решение

Работа вокруг, я использую это:

import sys
import os
try:
    import test_data
except ImportError:
    sys.path.append(os.path.dirname(__file__))
    try:
        import test_data
    finally:
        sys.path.remove(os.path.dirname(__file__))

Друг сказал мне, что можно также добавить записи каталога в некоторые включаемые каталоги.

Пожалуйста, попробуйте PyCharm 2.5.1 RC, была ошибка с sys.path здание (оно содержало неверный, дублированный исходный каталог проекта).

Если это не так, вы можете пометить дополнительные каталоги как Source в Preferences | Project Structure или добавить их к путям в Python Interpreters,

Другие вопросы по тегам