2015-03-28 5 views
0

У меня есть 2 проекта в разных каталогах, один из них я хочу импортировать в другой. Скажем, проект, который я хочу импортировать имеет это:Невозможно импортировать локальный проект в другой локальный по абсолютному пути:

/path123/my_project/main_folder/file1.py 
/path123/my_project/main_folder/file2.py 
/path123/my_project/main_folder/file3.py 

Вот что я сделал в 2 проекта:

import sys 
sys.path.append('/path123/my_project/main_folder') 
# it's indeed inserted 

import main_folder.file1   # error - not found 
from main_folder import file1  # error - not found 
import my_project.main_folder.file1 # error - not found 

ответ

1

После добавляется путь, где ваш второй файл питон, который вы хотите использовать в ваш первый файл python вы напрямую импортируете модуль по имени файла без расширения. Например

import file1 

Каждое место в вашем sys.path затем искал файл file1.py импорта.

Скажет у вас есть основная программа питона в /prog1/main.py и вы хотите импортировать файл из /prog2/lib/want_to_import.py в вашем main.py он должен выглядеть

import sys 
sys.path.append('/prog2/lib') 
import want_to_import 
+0

это 2 различных проекты. –

+0

@AlexanderSupertramp Вы добавляете путь, как в своем вопросе, но импортируете его по-моему. – halex

+0

Еще один вопрос: если я хочу импортировать 'file1' в каждый модуль' project2'. Должен ли я поместить код 'import sys sys.path.append ('/ path123/my_project/main_folder')' в 'project2/__ init __. Py' файл? –

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