Eclipse+Pydev(一)Ctrl+F3跳转到site-packages; (2) "setup.py install" 影响进口

Eclipse+Pydev (1) Ctrl+F3 jumps to site-packages; (2) "setup.py install" affects imports

我有两个关于 python 在已经设置为使用 "python setup.py install" 的项目上使用 Eclipse+Pydev 进行开发的问题。这是一个体面的项目(100+ python 模块,10+ 包)。

问题1:如果我有多个入口函数(即与运行我的代码不同的起始文件)是否可以让Eclipse+PyDev自动运行运行 "python setup.py install" 在我的项目中执行任何文件之前?或者最好的方法是在每个起始文件的开头有一行 运行 "python setup.py install"?我最初只想在 Eclipse w/o 中进行所有开发,而根本不需要 "python setup.py install",但这需要更改导入语句的完成方式项目(请参阅下面有关此的更多详细信息)。

问题2:假设我的项目名为"X",每当我按Ctrl+F3跳转到包含函数定义的文件时,如果该文件不是已经在编辑器中打开,然后 Eclipse 将打开 "C:/Python27/Lib/site-packages/X/some-package/some-module.py" 而不是文件 ../UserMe/X/some-package/some-module.py。是否可以让 Eclipse 知道只访问本地文件,而不访问站点包文件夹中由 "python setup.py install" 生成的文件?

更多详情:

现在一切都是 "working"(即编译和 运行ning):

目前,为了 运行 我的项目,我做了以下工作:

cd <top-level-dir>
python27 setup.py install
# then run my script
python27 startup/script1.py

不同种类的导入

似乎在 Eclipse+PyDev 中有两种不同的方式为我的项目做导入。我的项目名称是 "X"。如果我不使用 "python setup.py install",而只是 运行 从 Eclipse 中获取所有内容,Eclipse 似乎希望我的导入如下所示

import package.module1
import package.module2
... etc

但是,由于我使用的是 "python setup.py install",因此我需要像下面这样导入:

from X.package import module1, module2

但是当我这样做时,Eclipse+Pydev 代码分析抱怨我的导入被破坏,除非我在每个 运行 之前执行 "python setup.py install"。所以我最终只是 运行ning "python setup.py install" 然后我的启动脚本在 Eclipse 之外的终端中。

其他详情

谢谢!我感谢与此相关的任何提示。我认为自己是使用 python.

进行大型项目开发的新手

我认为你在 python setup.py install 方面已经领先了,你想要的是 python setup.py develop 这样就不会安装你正在开发的 你的 代码,而是设置特殊链接。

参见 Python setup.py develop vs install 及其答案。