Структура папок имеет значение.Вы не назвали свой модуль;Я назову это foo
.Поместите вещи в нужное место:
$ mkdir foo
$ touch foo/__init__.py
$ mv /some/place/{test1,test2}.py foo/
Обратите внимание, что python -c 'import test'
уже работает, даже до того, как вы написали свой файл test.py.Чтобы избежать путаницы, я рекомендую назвать ваш файл test1.py.
Способ, которым вы называете свой код, имеет значение.Убедитесь, что .
точка находится в sys.path
:
$ export PYTHONPATH=.
$ python -m foo.test1
В качестве альтернативы это должно работать, если вы предпочитаете:
$ python foo/test1.py
РЕДАКТИРОВАТЬ:
Я ответил на вопрос# 1, и OP теперь задает вопрос № 2 об этой диагностике:
ImportError: невозможно импортировать имя 'test' из ' main ' (C: / Users / Username /test2.py)
Пожалуйста, организуйте свои файлы в правильной структуре.Вам нужно поместить test2.py в каталог foo/
(или как вы хотите его называть).Вам необходимо создать пустой файл foo/__init__.py
, так как это важно для механизма import
.
Кроме того, переменная PYTHONPATH env в вызывающей среде имеет значение.В дополнение к среде командной строки вы ввели среду PyCharm.Позаботьтесь о том, чтобы правильно настроить PyCharm для вашего проекта.Нажмите «Настройки» -> «Структура проекта» и убедитесь, что foo
отображается как исходная папка.Вы можете отладить это в любой среде, выполнив следующие строки:
import sys
import pprint
pprint.pprint(sys.path)
Поскольку import test
будет успешным даже без вашего проекта, я рекомендую переименовать в test1.py
и использовать import test1
, чтобы выможете быть уверены, что вы вводите ваш код.