PyDev从site-packages中的包导入,而不是在开发中导入包(绝对导入)

时间:2014-02-05 01:58:26

标签: python eclipse pydev

我正在使用Eclipse / PyDev和Python 2.7开发一个模块(mypackage)。我有其他需要使用它的包和模块。为了确保其他软件包和模块始终使用mypackage的工作版本,我决定使用distutils(同一台计算机)将mypackage部署到site-packages,我只会在PyDev中的mypackage的开发版本更新时更新在进行更改后调试。

为了在部署到site-packages时让mypackage工作,我不得不使用绝对导入来编写它。问题在于,现在当我尝试在Eclipse的mypackage的开发版本中运行模块进行调试时,它正在从site-packages导入mypackage中的其他模块,而不是从Eclipse中的开发版本导入。

有没有办法解决这个问题?我不想每次想要在site-packages中更新mypackage时都用绝对导入重写我的代码,如果我想在Eclipse中进行更改和调试我的代码,那就改回来。

1 个答案:

答案 0 :(得分:2)

将项目目录/ $ {PROJECT_DIR_NAME}添加到项目的PYTHONPATH似乎已经成功了。

之前,我在项目的PYTHONPATH中只有/ $ {PROJECT_DIR_NAME} / mypackage。所以我怀疑,当使用绝对导入时,Eclipse无法找到/ $ {PROJECT_DIR_NAME} / mypackage / mypackage / mymodule,然后继续搜索site-packages。