在哪里保存python模块

时间:2016-01-25 01:37:48

标签: python import

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

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

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

1 个答案:

答案 0 :(得分: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构建和平台要求。在将代码部署到其他计算机时,您可以更轻松地复制项目的需求。

以下是一系列文章,其中包含解释从packages,pip和setup.py到使用Buildout启动工作环境的所有内容的信息。看起来像一个伟大的系列:

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

制作setup.py的官方文档:

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