如何将Pydev项目导入交互式控制台?
新手问题(我刚开始学习Python和Pydev):
我创建了一个名为“Playground”的项目,并在里面有一个标准的src/root子文件夹。在这个文件夹里,我创建了一个叫example.py的文件。
我该如何在Pydev的交互式控制台中导入我的“example”模块呢?当我输入“>>> import example”时,出现了错误:“ImportError: No module named example”。
3 个回答
根据上面提到的PYTHONPATH建议,我用了一点小技巧让这个问题解决了。如果我理解你的问题没错,你是想在IPython环境中把当前工作目录设置为你正在编辑的文件所在的目录。比如说,如果你在编辑D:/projects/file.py,你希望在IPython中输入pwd()命令时返回D:/projects。这就是我解决方案中小技巧的来源。我的所有项目都在D盘,但所有正常的Python导入都是从C盘的安装位置来的。所以,下面这段代码:
os.environ['PYTHONPATH'].split(os.pathsep)
会生成一个列表,其中只有一个路径在D盘,而这个路径(根据上面的回答)就是我正在编辑的文件所在的目录。如果你不使用D盘,那么就需要找到其他独特的方法来识别列表中哪个路径是属于你的项目的。如果没有办法唯一识别你的项目路径,那么这个答案就不适用了。但在简单情况下,如果"D:/"足够作为一个独特的标识符,这就是我在设置中的启动代码(窗口 > 偏好设置 > PyDev > 交互式控制台)
import sys; print('%s %s' % (sys.executable or sys.platform, sys.version))
import os;os.chdir([p for p in os.environ['PYTHONPATH'].split(os.pathsep) if p.startswith("D")][0])
pwd()
你需要根据自己的情况设置PYTHONPATH(可以在网上搜索一下,很多资料可以帮助你),或者在你的安装目录下的site-packages文件夹里使用*.pth文件,指向你的项目路径。别忘了在Pydev里设置好你的解释器信息(路径是:窗口->首选项->Pydev->解释器)。
我在Plone网站上找到了答案:在Eclipse项目中设置PYTHONPATH。这个方法可以方便地为每个项目设置PYTHONPATH。在我的情况下,我把“/Playground/src/root”添加到了源文件夹列表中。这样就可以正常使用“>>> import example”了。(不过我还是觉得项目文件默认没有被导入这点挺奇怪的。)
谢谢jldupont给我指明了方向(关于PYTHONPATH的部分)!