导入已移动到另一个文件夹的模块

时间:2019-06-01 19:04:09

标签: python python-3.x

我正在尝试包含一个模块,该模块已移动到另一个文件夹而未更改import语句。如何进行导入映射以指向新位置?

这是原始文件夹结构:

    • main.py
    • folder_1
      • X.py
    • folder_2
      • Y.py
    • folder_3

在main.py中:

# I'm using reflection to find and import X.py runtime
__import__(folder1.X)

在X.py中:

import folder_2.Y as Y
def X_func():
   print(Y.somefunc())

在Y.py中:

def somefunc():
   print('I feel good')

现在,Y.py位于folder_3下,并且include无效。是否可以以某种方式重新映射include语句以指向新文件夹?

我尝试使用setuptools,但是我不想创建发行版

setuptools.setup(
        entry_points={
            '????': [
                'somefunc = folder_2.Y:somefunc',
            ],
        },
    )

1 个答案:

答案 0 :(得分:0)

尝试在X.py中这样做:-

import folder_3.Y as Y
def X_func():
   print(Y.somefunc())

如果这不起作用,请尝试使用:-

import sys
sys.path.append('full_path_to_the_third_folder')

import Y as Y