【问题标题】:Where to save python modules在哪里保存 python 模块
【发布时间】:2016-01-25 01:37:47
【问题描述】:

我只是在学习 python 3.5 中的模块。虽然我通常可以使用 sudo pip install {package} 安装和导入包,但我似乎不知道如何导入自己的文件。

我创建了一个带有单个定义的 test.py 文件进行测试。我将它保存到 site-packages 文件夹。我似乎无法从那里导入。我需要帮助了解如何导入文件。

我在网上阅读了有关可能使用 sys.path 的信息,但是我不知道它是如何工作的。

【问题讨论】:

  • 注意:如果您打算让其他人使用您的程序,您不希望这样做;否则你很好。
  • 将您的模块保存在您的文件夹中 - 并复制/粘贴到您的项目中。

标签: python import


【解决方案1】:

如果我有以下文件结构:

/home/foo
/home/foo/__init__.py
/home/foo/bar.py

我想

import foo.bar
foo.bar.somefn()

我首先需要做的是:

import sys
sys.path.append("/home/foo")

注意 init.py 文件,它告诉 python 寻找子模块。在这种情况下,我们不一定需要它,但最好的做法是:

What is __init__.py for?

但是,由于这可能会变得重复、令人生畏且难以跟踪,因此当您的代码扩展为具有依赖项和大量文件/文件夹时,有许多工具可帮助您进行设置。我建议您阅读一些有关 pip/disttools/easy-install 以及如何使用“setup.py”制作软件包的信息。

What is setup.py?

此外,您可能还想探索虚拟环境和部署解决方案的世界,例如 Buildout 和 Anaconda。这些有助于保持代码分离,因为您有多个项目在进行中具有不同的需求,甚至是不同的 python 构建和平台要求。当需要将代码部署到其他机器时,您将更容易复制项目的需求。

以下是一系列文章,其中包含从包、pip 和 setup.py 到使用 Buildout 启动工作环境的所有信息。似乎是一个很棒的系列:

http://reinout.vanrees.org/weblog/tags/softwarereleasesseries.html

制作 setup.py 的官方文档:

https://docs.python.org/3/distutils/setupscript.html

【讨论】:

    猜你喜欢
    • 2015-09-30
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 2018-06-05
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多