在Aptana 3中调试Python

1 投票
2 回答
3629 浏览
提问于 2025-04-17 14:53

我在 Aptana Studio 3 中做一个 pydev 项目。

下面的图片里,你可以看到我的项目结构,以及我的 nosetests 都通过了。

项目结构

如果我点击一个叫 scheduled.py 的文件,里面有一个断点,然后选择 debug as > python run,它就无法导入我的模块了。

pydev debugger: starting
Traceback (most recent call last):
  File "C:\Users\mapserv\AppData\Local\Aptana Studio 3\plugins\org.python.pydev_2.7.0.2012110722\pysrc\pydevd.py", line 1397, in <module>
    debugger.run(setup['file'], None, None)
  File "C:\Users\mapserv\AppData\Local\Aptana Studio 3\plugins\org.python.pydev_2.7.0.2012110722\pysrc\pydevd.py", line 1090, in run
    pydev_imports.execfile(file, globals, locals) #execute the script
  File "C:\Users\mapserv\Desktop\Projects\Aptana\AutomatedCaching\agrc\caching\scheduled.py", line 1, in <module>
    from agrc.caching.commands import cache
ImportError: No module named agrc.caching.commands

我注意到 Aptana 有包/模块的概念。我的项目结构是不是有什么问题导致这个情况?我的文件夹需要是包吗?我需要对我的解释器设置更多的东西吗?这看起来是这样的:

解释器设置

编辑

如果我从命令行运行 scheduled.py,也会遇到同样的问题。为什么 nose 能够运行我的测试并且一切正常,但在其他地方却不行呢?

2 个回答

1

你有没有试过把它放到你的“PyDev - PYTHONPATH”项目属性里?你可以在项目里找到这个设置,路径是:项目 -> 属性 -> PyDev - PYTHONPATH -> 源文件夹(选项卡) -> 添加源文件夹。

这样你就不用去改动系统的 PYTHONPATH 了。

这个方法对我有效。

我想发个图片,但我想我没有足够的信誉积分。

1

答案是要更新你的 PYTHONPATH。在Windows系统中,你需要把“AutomatedCaching”文件夹的路径放到一个叫做 automated_caching.pth 的文件里。

比如说:C:\Projects\AutomatedCaching

然后把这个文件移动到你电脑上的 site packages 文件夹里。对于使用 arcgis 的用户,这个文件夹的路径可能是:

C:\Python27\ArcGISx6410.1\Lib\site-packages

或者

C:\Python27\ArcGIS10.1\Lib\site-packages

具体取决于你是安装了服务器版还是桌面版。我觉得最后安装的版本会优先使用 PATH,因为我先装了服务器版,然后装了桌面版,结果它使用的是第二个路径,没有 x64 的那个。

运行

import sys
for i in sys.path: 
     print i

应该能确认你的路径已经添加成功。

不过,arcgis 的服务器版和桌面版在 c:\python27 下安装了两个不同的 Python,这又是另一个话题了。

现在,aptana 显示我的包浏览器,就像它是一个包一样。

fixed

撰写回答