有人有指示让Eclipse(Galileo),PyDev和Virtualenv一起工作吗?我特意试图运行Pinax,但任何说明都没问题。
我以为自己拥有它(甚至是博客除了最后一步 - 交互式调试之外的所有内容)并且仍然没有解决方案。我特别关注OS X,但任何答案都应该足够了。这是迄今为止我发现的最好的资源:
http://blog.vlku.com/index.php/2009/06/10/djangoeclipse-with-code-complete-screencast/
答案 0 :(得分:17)
我不同意必须为每个虚拟环境创建和维护一个单独的工作区。
您需要做的就是根据virtualenv设置一个单独的解释器,并确保项目正在使用它。
除了您的标准解释器,例如 Python 2.5 , Python 2.6 , Python 3.1 ,您还将添加更多内容< em>我的Django网站,我的酷项目,我的其他酷项目 - 每个翻译都将拥有所有PYTHONPATH
条目,因为它的virtualenv会提供。
答案 1 :(得分:12)
你有什么问题? 关键是每个项目都有单独的工作空间。然后选择该工作空间的python解释器到为virtualenv创建的解释器。然后你应该被设置。
答案 2 :(得分:10)
我创建与Eclipse一起使用的Django虚拟环境的说明如下:
注意:说明适用于OSX Mountain Lion,但应与其他操作系统一起使用。我已经从各种来源整理了这些信息,并希望得到任何建议或意见。我假设您在系统上设置了python,virtualenv和eclipse。
打开终端,移动到您想要拥有eclipse工作区的位置;
现在,让我们安装依赖项;
现在我们将启动Django项目并提交git;
我们的django项目已经准备好了,所以现在打开eclipse并在工作区选择器中,单击browse并选择projectenv文件夹(即包含venv文件夹,myproject文件夹和requirements.txt文件夹的文件夹) )并单击“打开”。
转到“文件”,“导入”,“常规”,“现有文件夹”作为“新建项目”,然后选择myproject文件夹,单击“完成”。您的项目现在将显示在包浏览器中 - 您现在应该切换到PyDev透视图(如果尚未在其上)。
右键单击package explorer中的myproject主文件夹,转到PyDev并选择“Set as PyDev project”。 Eclipse现在将提示您设置解释器并将您带到首选项窗口。单击New,然后在/ venv / bin / select python中选择解释器,而不是python2.7,然后单击ok。
您将获得一个lib列表,保持原样并点击完成,您将收到警告,但仍然点击继续。
现在,单击prefs窗口下半部分的New Folder并选择/ venv / lib /,单击ok,然后单击apply,然后单击ok。
最后,右键单击manage.py和Run As,Run Configurations。在Arguments选项卡中,键入;
然后单击“应用”,然后单击“关闭”。
应该是这样,当你想添加一个应用程序时,在命令行执行此操作,就像通常使用manage.py startapp myapp一样(如果你安装了Aptana Studio插件,你可以在eclipse中获得一个终端窗口) ,右键单击eclipse中的主项目文件夹并点击刷新,一切都会在那里。当您想要调试时,设置断点,点击Debug As python manage.py(您之前设置的配置),当您点击代码断点时,Eclipse会将您激活到调试透视图中。
我发现这给了我完美的组合,这意味着我可以像往常一样在命令行上写很多东西,但因为它是在Eclipse中设置的,当事情不顺利的时候,我可以启动eclipse并做一些真正的调试!
我希望这会有所帮助。
答案 3 :(得分:4)
自从我升级到Helios以后,对Galileo不确定。
设置项目很简单 - &gt; PyDev - Interpreter / Grammar - &gt;基于不同项目的口译员。当配置解释器指向virtualenv的python解释器时,Pydev不会自动继承系统python的路径,因此用户有责任选择合适的PYTHONPATH。但是你总是可以在Preferences-&gt; Pydev-&gt; Interperter-Python - &gt;中重新编辑它。库选项卡。
答案 4 :(得分:3)
根据此处的信息(以及我在尝试解决您遇到的同一问题时发现的其他信息),我将一篇文章与逐步说明here放在一起。
正如Doctor所说,简短的回答是让每个virtualenv对应一个工作区 - 所以当你创建一个新的前者时,你创建一个新的后者专门用它。