PyCharm如何以及为什么改变Python';什么是进口逻辑?

PyCharm如何以及为什么改变Python';什么是进口逻辑?,python,import,pythonpath,pycharm,Python,Import,Pythonpath,Pycharm,我在Windows上安装了PyCharm 1.2.1。我必须编辑同一个项目的不同分支-有些重的分支,因为它们位于磁盘上的不同文件夹中-比如说c:\apps\alpha和c:\apps\beta。对于每个这样的文件夹,应调整PYTHONPATH变量,使其指向位于项目根文件夹中某处的适当供应商库(c:\alpha\vendor,…)。我通过从cmd批处理文件启动PyCharm来解决这个问题,该批处理文件在启动PyCharm之前设置了必要的PYTHONPATH变量值(因此我有PyCharm.cmd内部

我在Windows上安装了PyCharm 1.2.1。我必须编辑同一个项目的不同分支-有些重的分支,因为它们位于磁盘上的不同文件夹中-比如说
c:\apps\alpha
c:\apps\beta
。对于每个这样的文件夹,应调整PYTHONPATH变量,使其指向位于项目根文件夹中某处的适当供应商库(
c:\alpha\vendor
,…)。我通过从cmd批处理文件启动PyCharm来解决这个问题,该批处理文件在启动PyCharm之前设置了必要的PYTHONPATH变量值(因此我有
PyCharm.cmd
内部
alpha
PyCharm.cmd
内部
beta
目录)

问题:当我打开PyCharm编辑
beta
文件夹时,
import
statement
alpha
文件夹导入模块!当我从命令行启动
python.exe
解释器时,一切都按预期工作-问题似乎是只有PyCharm

第二个奇怪的调查:从PyCharm和外部python.exe解释器执行
print sys.path
代码会得到不同的结果-从PyCharm它不会显示我的PYTHONPATH模块。我是Python和PyCharm的新手,但这种行为看起来非常奇怪和不一致

最后,我在PyCharm IDE中找到了一些设置,看起来应该允许我解决这个问题-
文件->设置->Python解释器
。在那里,我找到了
alpha
beta
文件夹的所有路径。无法清除此路径列表,只能禁用某些元素。但即使禁用也有点愚蠢——每次编辑
alpha
beta
解决方案文件夹时,我都应该分别禁用/重新启用它们


最后一个问题:如何使用PyCharm编辑单独的项目(文件夹)并强制PyCharm不要从错误的位置导入模块?

正确的解决方案不是尝试绕过PyCharm的逻辑,而是在设计时使用IDE功能。这意味着:

  • 不要使用任何.cmd脚本来启动PyCharm
  • 从设置| Python解释器中的路径列表中删除特定于“alpha”和“beta”的所有路径(如果有)
  • 将“alpha/vendor”和“beta/vendor”目录分别标记为alpha和beta项目中的源根目录
然后PyCharm将正确解析导入,并在从中运行应用程序时自动生成正确的PYTHONPATH