我只是在学习python 3.5中的模块。虽然我通常可以使用sudo pip install {package}安装和导入软件包,但我似乎无法弄清楚如何导入我自己的文件。
我制作了一个带有单个定义的test.py文件进行测试。我将它保存到site-packages文件夹中。我似乎无法从那里导入。我需要帮助了解如何导入文件。
我在线阅读有关可能使用sys.path但是,我不知道它是如何工作的。
答案 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查找子模块。在这种情况下,我们不一定需要它,但最好有:
然而,由于这可能会重复,令人生畏且难以跟踪,因此您可以使用许多工具来帮助您进行设置,因为您的代码会扩展为具有依赖关系和大量文件/文件夹。我建议你阅读一些关于pip / disttools / easy-install以及如何使用'setup.py'创建一个包。
此外,您可能希望探索虚拟环境和部署解决方案的世界,例如Buildout和Anaconda。这些有助于保持代码分离,因为您有不同的需求,甚至不同的python构建和平台要求。在将代码部署到其他计算机时,您可以更轻松地复制项目的需求。
以下是一系列文章,其中包含解释从packages,pip和setup.py到使用Buildout启动工作环境的所有内容的信息。看起来像一个伟大的系列:
http://reinout.vanrees.org/weblog/tags/softwarereleasesseries.html
制作setup.py的官方文档: