首页 > 解决方案 > 导入移动到另一个文件夹的模块

问题描述

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

这是原始文件夹结构:

在 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 下,并且包含不起作用。是否可以以某种方式重新映射包含语句以指向新文件夹?

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

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

标签: pythonpython-3.x

解决方案


尝试这样做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

推荐阅读