2011-07-13 98 views
2

我在用Eclipse/PyDev开发的应用程序中遇到了一些导入问题。 从Eclipse内运行应用程序是没有问题的,但是当我尝试通过linux终端运行时,导入(从其他文件夹(Eclipse中的包)导入)被破坏,并且我得到一个ImportError:No模块,名称为xxx ..在终端上运行PyDev开发的应用程序时出现的问题

根据以前在Eclipse中开发Java应用程序的经验,我总是通过将项目导出到可运行的jar文件来解决此问题,但这不是Python的选项。

有没有办法绕开这个?我宁愿不将所有的.py文件放在一个文件夹中,因为我非常喜欢包系统(猜测Java已经损坏了我)。我是否可以更改导入语句以使其在Eclipse和终端中都可以工作,或者如果我希望在终端中工作,我是否必须放弃PyDev?

感谢您的帮助!

修身

回答

2

这里的关键是,PyDev的和Eclipse管理自定义的Python路径,当你在Eclipse中推出。您可以修改环境变量以包含更完整的PYTHONPATH值,该值包含要从中导入的位置,或者可以使用sys.path.append()在运行时将路径添加到路径中,以便可以解析导入。

+0

这听起来正是我想要做的。然而,我对Python的使用经验有限。我将如何去看看这个例子: 文件夹A,B和Main与 main.py(“运行”文件)在Main中,并从文件夹A和B导入 – Slim

+0

那么,我得到了sys.path .append()工作,但我宁愿去解决它从终端添加路径的其他方式,而不是将它们硬编码到我的文件 – Slim

+0

@Slim - 有一些有关搜索路径可用的文档:http:/ /docs.python.org/tutorial/modules.html#the-module-search-path。如果你有'sys.path.append'来工作,那么你就会听起来像。 :) –

相关问题