1

当我尝试ipython qtconsole从 Python 安装目录以外的任何地方启动时,我收到导入错误。它似乎只有在我 RUN->cmd.exe 时才有效;cd C:\Users\me\python\Python27; ipython qtconsole;。

我试过批处理文件,但如果我不在我的安装目录的上下文中运行它,它似乎仍然不起作用。总是 ipython-script 似乎在抱怨。这是输出...(这是来自 ipython 内部,使用 CurrentWorkingDirectory 作为我的桌面)

In [2]: !ipython qtconsole
Traceback (most recent call last):
  File "C:\Users\me\python\Python27\ipython-script.py", line 770, in <module
>
load_entry_point('ipython==0.12', 'console_scripts', 'ipython')()
File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
thon-0.12-py2.7.egg\IPython\frontend\terminal\ipapp.py", line 402, in launch_new
_instance
  File "<string>", line 2, in initialize
  File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
thon-0.12-py2.7.egg\IPython\config\application.py", line 84, in catch_config_err
or
  File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
thon-0.12-py2.7.egg\IPython\frontend\terminal\ipapp.py", line 302, in initialize

  File "<string>", line 2, in initialize
  File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
thon-0.12-py2.7.egg\IPython\config\application.py", line 84, in catch_config_err
or
  File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
 thon-0.12-py2.7.egg\IPython\core\application.py", line 325, in initialize
   File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
thon-0.12-py2.7.egg\IPython\frontend\terminal\ipapp.py", line 297, in parse_comm
and_line
  File "<string>", line 2, in parse_command_line
  File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
thon-0.12-py2.7.egg\IPython\config\application.py", line 84, in catch_config_err
or
  File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
thon-0.12-py2.7.egg\IPython\config\application.py", line 413, in parse_command_l
ine
  File "<string>", line 2, in initialize_subcommand
  File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
 thon-0.12-py2.7.egg\IPython\config\application.py", line 84, in catch_config_err
or
   File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
 thon-0.12-py2.7.egg\IPython\config\application.py", line 349, in initialize_subc
 ommand
   File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
 thon-0.12-py2.7.egg\IPython\utils\importstring.py", line 40, in import_item
  File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
 thon-0.12-py2.7.egg\IPython\frontend\qt\console\qtconsoleapp.py", line 30, in <m
 odule>
   File "c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin\lib\site-packages\ipy
 thon-0.12-py2.7.egg\IPython\external\qt.py", line 42, in <module>
 ImportError: Cannot import PySide >= 1.0.3 or PyQt4 >= 4.7

就像我说的,它在我的安装目录中运行得非常好,而且我 96% 确定我的 ENV 变量 PATH、PYTHONPATH、PYTHONHOME 是洁净的。我已经从删除它们到一次完全重载一个目录,结果没有任何变化。

而且我已经确保存在 Wow6432None Python 条目(我尽量不污染这些条目)。

Ipython 不是唯一出现此类错误的模块(也有相同的解决方案),但这绝对是最烦人的(我无法从 Run Prompt 启动 qtconsole!)

编辑::我确实挖掘了一个开始菜单条目,在更改“开始”属性后,我能够启动 qtconsole,但我仍然不太明白为什么相对于当前目录执行此导入。

4

2 回答 2

0

我相信这与 qtconsole 依赖项有关,这些依赖项不直接位于我定义的位置PATH,并且我相信我的模块搜索路径中存在一些冲突。

我找到的最简单的解决方案是使用环境变量PYTHONPATH

距离我最初的帖子已经有一段时间了,从那以后有几件事发生了变化,但我相信重要的因素是这些:

- 小心安装在 64 位 Windows 上的 32 位 python。

-利用 PYTHONPATH 包含重要的子目录,例如“/install-dir/Lib”或任何其他目录。

如果您的环境变量仍然存在问题,请使用绝对命令作为故障保护(将它们包装在一个更易于使用的脚本中),

C:\Users\johnny42\python\Python27\pythonw.exe
C:\Users\johnny42\python\Python27\ipython-script.py qtconsole

上面的例子应该在 ONE LINE 上。不要只是复制和粘贴它。

于 2013-05-03T15:36:37.910 回答
0

我的 64 位 Windows 操作系统中有 Python 32 位。甚至我也有类似的错误“c:\cpd-svn\branches\qt-4.8\win32-12-01\install\bin”。我不知道它在哪里设置。您能否分享您对 Python 从何处获得这条路径的发现?它应该使用哪个路径进行更新?

于 2013-09-11T09:21:14.653 回答