2015-09-10 3 views
2

Я прочитал многие другие вопросы S-O, связанные с этим, но все же мне трудно заставить его работать для меня. Извиняйтесь заранее за перекрытие! Я использую python 2.7.10, в Windows 7.Импорт самонаписанного модуля Python

Я пытаюсь импортировать модуль, который я написал, в моей консоли Python в PyCharm (сомнение в этом имеет значение). В консоли, я перемещаться, пока я нахожусь в каталог, который содержит мой модуль:

/users/usn/.../Tools/my_file.py 

, которая может быть подтверждена с помощью PWD. Затем я попробую

import my_file 

, но получить ошибку ImportError: Нет модуля с именем my_file. Я попробовал несколько вариантов безрезультатно. Как я могу импортировать модуль, который я написал, в консоли?

Благодаря

+0

Вы * уверены * вы находитесь в директории Tools при запуске интерпретатора? Можете ли вы запустить 'less my_file.py' в терминале без каких-либо проблем? – or1426

+0

Какая версия Python? –

+0

2.7.10. Обновлено выше. –

ответ

3

Вы должны расширить среду в папку, где находится модуль. Добавьте это в начало вашего файла, в который вы импортируете свой модуль.

import sys 
sys.path.append("https://stackoverflow.com/users/usn/.../Tools/") 
import my_file 
+0

Я не хочу постоянно добавлять это в свой PYTHONPATH. Просто импортируйте для запуска некоторых тестов. Я должен иметь возможность импортировать из каталога, нет? –

+1

@AmyD это не изменяет никаких переменных окружения или пути, оно просто расширяет ваш путь в файле на весь срок службы. Это безопасно для окружающей среды. – saarrrr

+0

Зачем мне это нужно, если я уже в том же подкаталоге? Это, похоже, исправить проблему, хотя - спасибо! –

2

Вы также можете использовать imp

import imp 
my_file = imp.load_source('name', '/users/usn/.../Tools/my_file.py') 

Load and initialize a module implemented as a Python source file and return its module object. If the module was already initialized, it will be initialized again. The name argument is used to create or access a module object. The pathname argument points to the source file. The file argument is the source file, open for reading as text, from the beginning.

Смежные вопросы