Håk*_*and 4 python ipython pyside python-3.x
我使用的是 Ubuntu 14.04。我安装了pyenvPython 3.4.2,然后安装在pyenv. 然后我切换到3.4.2版本:
$ pyenv global 3.4.2
Run Code Online (Sandbox Code Playgroud)
现在我想ipython安装qtconsole:
$ pip install ipython
$ ipython3 qtconsole &
Run Code Online (Sandbox Code Playgroud)
这给出了一条错误消息(未显示回溯):
ImportError:
Could not load requested Qt binding. Please ensure that
PyQt4 >= 4.7 or PySide >= 1.0.3 is available,
and only one is imported per session.
Currently-imported Qt library: Noneu
PyQt4 installed: False
PySide >= 1.0.3 installed: False
Tried to load: ['pyside', 'pyqt']
Run Code Online (Sandbox Code Playgroud)
然后我尝试:
$ pip install pyside
Run Code Online (Sandbox Code Playgroud)
这给出了错误(输出的某些部分被删除):
Installing collected packages: pyside
Running setup.py install for pyside
Removing /tmp/pip_build_hakon/pyside/pyside_package
Python architecture is 64bit
Failed to locate a dynamic Python library, using /home/hakon/.pyenv/versions/3.4.2/lib/libpython3.4m.a
qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
Failed to query the Qt version with qmake /usr/bin/qmake
Run Code Online (Sandbox Code Playgroud)
更新
根据之前的错误消息,我认为我必须这样做
$ sudo apt-get install qt4-qmake
Run Code Online (Sandbox Code Playgroud)
然后我收到一些新的错误消息,这导致我运行:
$ sudo apt-get install libxslt-dev
$ sudo apt-get install qt4-default
Run Code Online (Sandbox Code Playgroud)
现在,当我跑步时:
$ pip install pyside
Run Code Online (Sandbox Code Playgroud)
我收到错误(输出的第一部分被删除):
[ 83%] Building CXX object libshiboken/CMakeFiles/libshiboken.dir/shibokenbuffer.cpp.o
Linking CXX shared library libshiboken.cpython-34m.so
/usr/bin/ld: /home/hakon/.pyenv/versions/3.4.2/lib/libpython3.4m.a(abstract.o): relocation R_X86_64_32S against `_Py_NotImplementedStruct' can not be used when making a shared object; recompile with -fPIC
/home/hakon/.pyenv/versions/3.4.2/lib/libpython3.4m.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我想我发现了问题:
PySide 构建显然需要一个 python..3.4.so共享库,而不是静态 (.a) 库,请参阅http://qt-project.org/forums/viewthread/49955。
现在的解决方案是卸载Python
$ pyenv uninstall 3.4.2
Run Code Online (Sandbox Code Playgroud)
然后重新安装具有共享库支持的 Python(另请参阅https://github.com/yyuu/pyenv/issues/82):
$ env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.4.2
$ pyenv global 3.4.2
Run Code Online (Sandbox Code Playgroud)
然后安装pyside
$ pip install pyside
Run Code Online (Sandbox Code Playgroud)
然后安装pygments并pyzmq:
$ pip install pygments
$ pip install pyzmq
Run Code Online (Sandbox Code Playgroud)
最后,你可以运行它:
$ pip install ipython
$ ipython qtconsole &
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4465 次 |
| 最近记录: |