代码之家  ›  专栏  ›  技术社区  ›  Unknown

如果“在资源管理器中显示”,Komodo edit将更改python sys.path

  •  2
  • Unknown  · 技术社区  · 15 年前

    我正在使用 Komodo Edit 一个代码编辑器。

    当我右键单击项目并单击“在资源管理器中显示”时,它将弹出一个框,就像我的项目所在目录中的Windows资源管理器一样。这很方便。

    然而,我注意到了一个潜在的副作用。当您试图用这个窗口运行一个与Windows资源管理器完全相同的python文件时,您会发现它完全破坏了python中的sys.path来使用它自己的目录。

    有什么办法可以避免这种情况吗?

    import sys
    sys.path
    
    C:\Windows\system32\python26.zip
    C:\Program Files\ActiveState Komodo Edit 5\lib\python\DLLs
    C:\Program Files\ActiveState Komodo Edit 5\lib\python\lib
    C:\Program Files\ActiveState Komodo Edit 5\lib\python\lib\plat-win
    C:\Program Files\ActiveState Komodo Edit 5\lib\python\lib\lib-tk
    C:\Python26
    C:\Program Files\ActiveState Komodo Edit 5\lib\python
    C:\Program Files\ActiveState Komodo Edit 5\lib\python\lib\site-packages
    C:\Program Files\ActiveState Komodo Edit 5\lib\python\lib\site-packages\win32
    C:\Program Files\ActiveState Komodo Edit 5\lib\python\lib\site-packages\win32\lib
    C:\Program Files\ActiveState Komodo Edit 5\lib\python\lib\site-packages\Pythonwin
    
    4 回复  |  直到 14 年前
        1
  •  4
  •   AKX Bryan Oakley    15 年前

    这在科莫多确实是个问题。它实际上源于科莫多的探险家窗口 PYTHONHOME 环境变量设置为包含Komodo的路径,因为子进程继承父进程的环境。我通过Komodo生成的浏览器打开一个命令提示窗口来注意到这一点。如果你看输出 set ,它包含(除其他外)以下内容:

    PYTHONHOME=C:\Program Files\ActiveState Komodo Edit 5\lib\python
    _KOMODO_HOSTUSERDATADIR=C:\Users\Dev\AppData\Roaming\ActiveState\KomodoEdit\5.1\host-host\
    _KOMODO_VERUSERDATADIR=C:\Users\Dev\AppData\Roaming\ActiveState\KomodoEdit\5.1\
    _XRE_USERAPPDATADIR=C:\Users\Dev\AppData\Roaming\ActiveState\KomodoEdit\5.1\host-host\XRE
    

    我报告了这个错误 here at the ActiveState bug tracker .

        2
  •  2
  •   luc    15 年前

    乌普斯!我在我的Vista机器上也有同样的行为。我没有看到该功能的任何设置,我认为这是一个Komodo bug。

    我想说的是解决方法:在工具箱中创建一个新命令,命令行为“explorer%d”。但也有同样的问题:-(

    更新:如果您将%d用于startin,则解决方法会起作用。查看捕获:

    alt text http://img10.imageshack.us/img10/2972/komodoshowinexplorer.jpg

        3
  •  0
  •   Nikhil    15 年前

    你应该做什么 sys.path 改为?看起来python已经在这条路上了,但是也许你也需要其他的库。

    如果缺少一些密钥目录,请使用 sys.path.append 在您的一个python模块中。如果需要移动python解释器的目录(这可能是使相对路径名正常工作所必需的),请使用 os.chdir 也。

    编辑:让我吃惊的是,你可能已经知道这些函数,问题就在其他地方。

        4
  •  0
  •   Ryan Ginstrom    14 年前

    我建议您进入komodo edit的首选项>>环境,并将pythonhome更改回原来的python安装(例如c:\python27)