Komodo Edit如果“在资源管理器中显示”会更改Python sys.path
我正在使用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 个回答
你的 sys.path
应该是什么样的呢?看起来Python已经在路径上了,但也许你还需要其他一些库。
如果你缺少了一些重要的目录,可以在你的某个Python模块里使用 sys.path.append
来添加它们。如果你需要移动Python解释器的目录(这可能是为了让相对路径能正常工作),也可以使用 os.chdir
。
补充一下:我觉得你可能已经知道这些函数了,问题可能出在别的地方。
哎呀!我在我的Vista电脑上也遇到了同样的问题。我没有找到任何关于这个功能的设置,我觉得这可能是Komodo的一个bug。
我想到了一个解决办法:在工具箱里创建一个新命令,命令行写“explorer %D”。但是它还是有同样的问题 :-(
更新:如果你把%D放在StartIn里,这个解决办法就有效了。看看这个截图:
alt text http://img10.imageshack.us/img10/2972/komodoshowinexplorer.jpg
这确实是Komodo中的一个问题。这个问题其实是因为Komodo打开的资源管理器窗口设置了一个叫做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
我在ActiveState的bug跟踪器上报告了这个错误。