在Python中布置导入路径,简单直接?

时间:2009-05-13 22:06:47

标签: python import

如果一组Python开发人员希望将他们的共享代码放在某个层次结构中,那么结构是什么,以及相关的“导入”语法是什么?

java风格的引用是否也适用于Python?即,目录是否与点相对应?

什么是内部使用的Python代码库的标准设置,以及从该库区域导入的语法是什么,比如3级深度?

我读过学习Python,看到PYTHONPATH,现在已经花了几个星期的代码,喜欢它,但我只是在“导入”之后,只是琐碎的案例。如果太笼统,请把我送回书本。

2 个答案:

答案 0 :(得分:6)

我们做什么。

<强>开发

  • c:\ someroot \ project \ thing__init __。py#make thing a package

  • C:\ someroot \项目\事\ foo.py

  • C:\ someroot \项目\事\ bar.py

我们的“环境”(以各种方式设置)

SET PYTHONPATH="C:\someroot\project"

我们正在处理的一些文件

 import thing.foo
 import thing.bar

<强>部署

  • /opt/someroot/project/project-1.1/thing/ init .py#使包成为一个东西

  • /opt/someroot/project/project-1.1/thing/foo.py

  • /opt/someroot/project/project-1.1/thing/bar.py

我们的“环境”(以各种方式设置)

SET PYTHONPATH="/opt/someroot/project/project-1.1"

这允许并排部署多个版本。

各种“东西”都被设计成独立的,可重复使用的包。

答案 1 :(得分:3)

  

如果一组Python开发人员希望将他们的共享代码放在某个层次结构中,那么结构是什么,以及相关的“导入”语法是什么?

您将它放在您自己的文件夹下的C:\ python26 \ Lib \ site-packages \目录中。

在该文件夹中,您应该包含一个__init__.py文件,该文件将在导入时运行,这可以为空。

  

java风格的引用是否也适用于Python?即,目录是否与点相对应?

是的,只要目录包含__init__.py文件。

  

什么是内部使用的Python代码库的标准设置,以及从该库区域导入的语法是什么,比如3级深度?

MyCompany/MyProject/ -> import MyCompany.MyProject