【问题标题】:Python how to make a function visible for other python modules [duplicate]Python如何使其他python模块的函数可见[重复]
【发布时间】:2012-12-31 06:57:25
【问题描述】:

可能重复:
Importing in Python

我有几个函数,我想让它们作为库函数可见,以便能够从其他项目中调用它们。我想将它们放在与常见 python 库不同的目录中。我应该如何安排我的代码?

【问题讨论】:

    标签: python function


    【解决方案1】:

    您可以在要导入函数的项目中使用它:

    import sys
    sys.path.append('c:\\myprojects\\MyProjDir\\')
    
    from MyModule import MyClass 
    

    注意,名称为__init__.py 的文件必须放在MyProjDir 中。 否则 Python 不会扫描这个目录。 __init__.py的内容可以留空。

    文档:

    1. Modifying Python’s Search Path
    2. The Module Search Path

    【讨论】:

    • 避免在代码中对 sys.path 进行操作。这使得它很脆弱,并且不能在其他系统上重复使用。
    • 如果您能解释更可靠的方法,我将不胜感激。 (virtualenv?)
    • 使用 setuptools(基于 distutils)。它将为您管理.pth 文件,通过使用develop 等命令设置开发模式。然后,您还可以从相同的代码库部署发行版。
    【解决方案2】:

    首先你必须制作一个包含你的代码的包。可以在这里找到快速介绍:http://guide.python-distribute.org/introduction.html 有不同的选项可以管理与其他项目相关的包。我建议使用 setuptools 创建一个可分发的包。如果您想将您的开发与默认的 python 安装隔离开来,请查看http://pypi.python.org/pypi/virtualenv

    【讨论】:

      【解决方案3】:

      您必须将此函数保存在我的某个文件中,并从其他文件或模块中使用导入。

      【讨论】:

      【解决方案4】:

      在单独的文件中定义这些函数并使用 import 来引用它们。一个有用的链接(python 中的模块):http://docs.python.org/3/tutorial/modules.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        • 2021-04-06
        • 2013-07-26
        • 2021-01-03
        相关资源
        最近更新 更多