【问题标题】:Eclipse+Pydev (1) Ctrl+F3 jumps to site-packages; (2) "setup.py install" affects importsEclipse+Pydev (1) Ctrl+F3 跳转到site-packages; (2) “setup.py install”影响导入
【发布时间】:2016-02-05 07:22:02
【问题描述】:

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

问题 1: 如果我有多个入口函数(即不同的启动文件来运行我的代码),是否可以让 Eclipse+PyDev 在执行任何文件之前自动运行“python setup.py install”在我的项目中?或者最好的方法是在每个起始文件的开头有一行来运行“python setup.py install”?我最初只想在 Eclipse 中完成所有开发,而根本不需要执行 "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”制作的文件?

更多详情:

现在一切都在“工作”(即编译和运行):

目前,为了运行我的项目,我执行以下操作:

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”。所以我最终只运行“python setup.py install”,然后在 Eclipse 之外的终端中运行我的启动脚本。

其他详情

  • 使用python2.7

谢谢!我很欣赏与此相关的任何提示。我认为自己是使用 python 进行大型项目开发的新手。

【问题讨论】:

    标签: python eclipse pydev code-analysis setup.py


    【解决方案1】:

    我认为您已经领先于python setup.py install,您想要的是python setup.py develop,以便您正在开发的您的代码没有安装,而是设置了特殊链接.

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

    【讨论】:

    • 谢谢!我会试试这个。我什至不知道 setup.py 的开发选项
    猜你喜欢
    • 1970-01-01
    • 2016-01-28
    • 1970-01-01
    • 2021-01-17
    • 2010-12-26
    • 2011-09-30
    • 2011-12-19
    • 2015-04-09
    • 1970-01-01
    相关资源
    最近更新 更多