2012-07-26 64 views
0

我写了大约7,8年前的一些Python程序,我从未触及它们,尽管它们仍然在我公司的大量使用中。如何让Python找到这个模块?

我们已经转移到一台新的服务器上了,我试图设置这个环境。我创建了所有的代码,但显然我有一些路径问题,我不记得如何解决。至少6年我没有写任何Python。

在这个节目我试图执行的顶部,我有这样的:

from mycompany.initializer import Configurator 

,我从一个目录中这个程序叫做:

/usr/code/myapp/migrate 

的“myCompany的” Python模块位于:

/usr/code/mycompany 

,我需要在我的用户帐户导出什么路径或其它变量,以便以上程序可以找到合适的Python模块?

回答

2

您可以手动添加路径(如Kasapo显示)。虽然我认为如果你设法正确地安装模块以便它成为python搜索路径的一部分,它会在python上更好。一种方法是使用PYTHONPATH(即:在shell启动时导出PYTHONPATH以包含'/ usr/code')。

http://docs.python.org/using/cmdline.html

+0

+1以正确安装模块。如果它充分包装,迁移到新的服务器应该是微不足道的。 – Lenna 2012-07-26 21:53:00

+0

对于“pythonically preferred”这个短语来说+1 ......好吧,主要是为了pythonic解决方案,而且还有短语 – Kasapo 2012-07-26 21:57:06

2

您应该能够到该目录添加到系统路径:

import sys 
sys.path.append('/usr/code/') 

而且,不知道这是否在Python中的任何一点变化,但你应该在“myCompany的”目录有__init__.py(和子目录中的任何模块组件/子模块...),以便使其成为可导入的模块。

+1

如果你把'''左右__init __。py'它将覆盖加粗格式:) – Lenna 2012-07-26 21:48:45

+0

怪异,我甚至不知道这东西是如何加粗。谢谢你的提示! – Kasapo 2012-07-26 21:50:49

+1

只是想我还会提到,通常大多数路径修改(包括sys.path.append和其他)都放在site.py中,通常位于/usr/lib/python2.7/site.py。 – Kupiakos 2012-07-26 22:52:44