因此,为了简单起见,Ubuntu 12.10 已预装 python 3.2,并且它链接到“python3”。我下载了 python 3.3,它的命令是“python3.3”。但是,我从 synaptic 下载了适用于 python3 的 pySide。在 python3.3 上使用“from PySide.QtCore import *”会失败。但是,当我只运行“python3”(又名 3.2)时,一切正常。Synaptic 只安装了适用于 python3.2 的 lib,这是 ubuntu 中 python3 的默认库。我如何强制 synaptic 安装适用于 python3.3 的模块?
谢谢
答案1
您可以自定义python3
别名。为此,您可以通过在文件末尾.bashrc
附加“ ”来修改文件。此 shell 脚本可以为您完成此操作:alias python3='python3.3'
#!/bin/bash
cd ~
# Create the ~/.bashrc file if it does not exist
if [ ! -f ./.bashrc ]; then
touch .bashrc
chmod 755 .bashrc
echo "#!/bin/bash" >> .bashrc
fi
# Append the customed alias
echo " " >> .bashrc
echo "alias python3='python3.3'" >> .bashrc
echo " " >> .bashrc
# Reload settings in the .bashrc script
source .bashrc
答案2
您可以通过设置适当的环境变量在同一系统上运行不同的 Python 版本。这将允许您在本地安装比 synaptic 包管理器可能提供的更高版本的 Python。例如在文件 (mysetup) 中有:
TK_LIBRARY=/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/site-packages/PIL:/usr/lib
TKPATH=/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/site-packages/PIL:/usr/lib
TCL_LIBRARY=/usr/lib
export TCL_LIBRARY TK_LIBRARY TKKPATH
export PYTHONPATH=/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-stdwin:/usr/lib/python2.7/lib-dynload:/usr/lib:.
并使用 .mysetup 将它们放入你的环境中
答案3
看看pyside 包的文件列表,看来它只针对 Python 3.2 进行了编译。您可以:
- 目前使用 3.2。3.3 可能与 13.04 一起提供。
- 下载 pyside 的源代码(使用
apt-get source pyside
),然后针对 Python 3.3 重新编译它。