PyCharm:版本化.idea文件夹,同时在开发人员之间保留不同的解释器

时间:2014-01-07 22:44:07

标签: python version-control intellij-idea mercurial pycharm

我们使用PyCharm作为项目的Python IDE。开发人员使用不同类型的操作系统设置,例如,python路径对于我们中的一些人来说是不一样的(有些人有不同位置的本地解释器或远程解释器)。

不幸的是,python解释器路径存储在.idea PyCharm项目文件夹(.iml文件)中。然后,当使用Mercurial合并分支时,它会导致冲突或python路径覆盖。

我们希望在版本控制下继续跟踪.idea文件夹和.i​​ml文件,因为它们确实包含应该在开发人员之间共享的有意义的设置(但是python路径)。

有没有办法在PyCharm项目之外设置python解释器路径?

注意: 有一个有趣的SO问题(Share a PyCharm project across multiple operating systems (different interpreter paths)),但它迫使开发人员为他们所有的其他项目重命名他们的解释器条目(并有一个插件)。

1 个答案:

答案 0 :(得分:4)

通过使用virtualenv并同意开发人员之间的通用名称,您可以从项目中抽象出明确的Python解释器位置。这个解决方案是上述SO问题的延伸。

设置工作站:

# .bash_profile 
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh  

创建虚拟环境:

$ mkvirtualenv marketplace-tests
New python executable in marketplace-tests/bin/python

在PyCharm中设置解释器:

enter image description here

.idea仅包含解释器名称,而不包含位置:

./stackoverflow-test.iml:    <orderEntry type="jdk" jdkName="we-all-agreed-on-that-name-interpreter" jdkType="Python SDK" />
./misc.xml:  <component name="ProjectRootManager" version="2" project-jdk-name="we-all-agreed-on-that-name-interpreter" project-jdk-type="Python SDK" />

现在,当项目第一次打开工作站时,它会出错并抱怨“为项目选择了无效的Python解释器”。开发人员必须将“我们所有人同意的名称解释器”指向本地虚拟环境,并确保“将此虚拟环境与当前项目关联”复选框处于打开状态。