在Aptana 3中调试Python
我在 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 个回答
你有没有试过把它放到你的“PyDev - PYTHONPATH”项目属性里?你可以在项目里找到这个设置,路径是:项目 -> 属性 -> PyDev - PYTHONPATH -> 源文件夹(选项卡) -> 添加源文件夹。
这样你就不用去改动系统的 PYTHONPATH 了。
这个方法对我有效。
我想发个图片,但我想我没有足够的信誉积分。
答案是要更新你的 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 显示我的包浏览器,就像它是一个包一样。
