python - 从命令行运行 Eclipse/PyDev 项目

标签 python eclipse pydev

我正在用 Python 开发一个系统,其中包括计算引擎和前端。我将它们分成两个项目,因为计算引擎也可用于其他前端。

我正在使用 Eclipse 和 PyDev。一切都在 Eclipse/PyDev 中完美运行,但是一旦我尝试在 PyDev 之外(从命令行)运行它,就会出现导入错误。我已经做了很多研究来找到这个问题,但我只是没有看到一个有效的解决方案。我相信 PyDev 修改了 Python 路径。

在下面的项目布局中,一个项目(计算)中有两个包(package1 和测试)。我似乎无法在测试中从 package1 导入任何内容。我还有另一个项目(前端)。这里我也无法从 package1 导入任何内容。

我想了解的是从命令行调用脚本/测试文件的正确方法?两者都适用于两个单独的项目和同一项目中的两个包。我认为这与 PyDev 的做法类似。到目前为止,我认为我有以下选择:

  • 创建 python 代码以附加到 sys.path(看起来很hacky/不是一个好的做法)
  • 当我调用 test_some_calc.py 时修改 PYTHONPATH,如下所示: PYTHONPATH= python test_some_calc.py (我认为 PyDev 就是这样做的,但看起来有点长 - 一定有更简单的方法吗?
  • 制作一个安装包(最终我可能会采用这种方法,但目前还没有。)

我有以下项目布局。

CodeSolution/
    Calculations/
       package1/
           __init__.py
           subpackage/
               __init__.py
               some_calc.py
           subpackage2/
               __init__.py
               another_calc.py
       tests/
           __init__.py
           subpackage/
               __init__.py
               test_some_calc.py  # Unable to import from package1
           subpackage2/
               __init__.py
               test_another_calc.py  # Unable to import from package1
    Frontend/
        some_script.py  # Unable to import from package1

对我的项目布局的评论也将受到赞赏。

最佳答案

从系统上的任何位置包含某些 python 的干净、快速和模块化的方法是创建一个名为 mymodule.pth 的文件并将其放入站点包的路径中

mymodule.pth 应该包含您的项目的路径。项目文件夹必须有一个 __init__.py 文件。

例如输入:

for Linux:

/home/user/myproject

里面

/usr/lib/python2.7/site-packages/mymodule.pth

for Windows

C:\\Users\myUsername\My Documents\myproject

里面

C:\PythonXY\Lib\site-packages\mymodule.pth

关于python - 从命令行运行 Eclipse/PyDev 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33841245/

相关文章:

python - 为什么 virtualenv 不创建 DLLs 文件夹?

python - 在 Ubuntu 上的 Eclipse Pydev 中使用 Python3 和 Pymongo

debugging - 断点处的交互式 pyDev 控制台

python - Python 中对象是如何排序的

python - 如何使用 matplotlib 绘制 2d FEM 结果?

eclipse - 如何在打开多个控制台的同时将进程固定到特定控制台?

java - 如何配置 Eclipse 以默认创建 protected Java 方法而不是私有(private)方法?

python - 基于python dict中相似键的Concat python值

python - 人员匹配程序或算法

eclipse - 如何使用 SpringSource Toolsuite 运行 Web 应用程序?