在Python中使用自定义模块

在Python中使用自定义模块,python,module,python-import,setuptools,setup.py,Python,Module,Python Import,Setuptools,Setup.py,我有以下包/目录结构: PythonMDK>> README.txt setup.py PythonMDK>> code1.py code2.py __init__.py 并且setup.py文件包含以下内容: from setuptools import setup setup( name='PythonMDK', version='1.0dev', description

我有以下包/目录结构:

PythonMDK>>
    README.txt
    setup.py
    PythonMDK>>
        code1.py
        code2.py
        __init__.py
并且setup.py文件包含以下内容:

from setuptools import setup
setup(
    name='PythonMDK',
    version='1.0dev',
    description='Python MDK',
    author='ME',
    author_email='ME@stuff.com',
    packages=['PythonMDK'],
    long_description=open('README.txt').read(),
    url='')
我现在如何安装它并使用code1.py和code2.py中包含的类/函数?我尝试了python setup.py安装,它似乎可以工作,但现在我在PythonMDK主文件夹中有一个dist和build文件夹,我似乎可以使用其中包含的任何函数。因此,现在我有了setup.py文件,为了利用这些模块,我基本上要做什么呢?

对于import PythonMDK,要在code1.py中公开任何函数,PythonMDK/_uinit__;.py文件必须像从code1 import myfunction一样导入它们。然后你可以做导入PythonMDK;PythonMDK.myfunction


请参阅和

只需通过pip:pip安装即可。假设您在setup.py文件所在的文件夹中。然后可以导入PythonMDK。顺便说一下,在完成python setup.py install.import PythonMDK之后,也应该可以实现同样的功能,但是它不允许我访问code1.py或code2.py中类中的任何函数。为什么要创建dist和build文件夹?您可以在_uinit__;中导入所需的模块,也可以直接导入它们:import PythonMDK.code1.Distutils/setuptools使用build目录作为临时文件;dist用于thr生成的源程序包和二进制程序包。您可以使用命令python setup.py clean清理它们。