![升级到 Python 3.3 并设置 Django 时出现问题](https://linux22.com/image/964796/%E5%8D%87%E7%BA%A7%E5%88%B0%20Python%203.3%20%E5%B9%B6%E8%AE%BE%E7%BD%AE%20Django%20%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我是 Linux 新手,正在尝试在我的计算机上设置 Python/Django!我从源文件安装了 Python 3.3,并将其编译为。然后我在和/usr/local/bin
之间创建了一个符号链接,这样每当我从命令行调用 python 时,它都会使用最新版本。/usr/bin/python
/usr/local/bin/python3
现在我尝试安装 MySQL Python 并得到以下输出:
apt-get install python-mysqldb
Reading package lists... Done
Building dependency tree
Reading state information... Done
python-mysqldb is already the newest version.
The following extra packages will be installed:
apt-listchanges python-apt
Suggested packages:
python-glade2 python-gtk2 python-apt-dbg python-vte python-apt-doc
The following packages will be upgraded:
apt-listchanges python-apt
2 upgraded, 0 newly installed, 0 to remove and 142 not upgraded.
3 not fully installed or removed.
Need to get 0 B/394 kB of archives.
After this operation, 250 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Traceback (most recent call last):
File "/usr/bin/apt-listchanges", line 28, in <module>
import apt_pkg
ImportError: No module named 'apt_pkg'
有什么办法可以解决这个问题吗?或者有什么关于如何清理此安装的提示(如果这个安装太破损的话)?
答案1
如果您“替换”默认的 Python 安装,则可能会破坏系统。许多系统工具使用 Python2.X,在使用 Python3 时会失败。就您而言,Python3 没有该apt_pkg
模块,因此您会收到该错误。
要解决这个问题,只需删除创建的符号链接并将其链接到默认的 python2.X(在 12.10 中是 python2.7):
sudo rm /usr/bin/python
sudo ln -s /usr/bin/python2.7 /usr/bin/python
如果你想让 python3 成为“默认”解释器,我想最好的方式是使用virtualenv
(更多信息这里):
virtualenv -p /usr/bin/python3.3 <destination dir>
答案2
不要符号链接/usr/bin/python
到 python3。这会破坏 Ubuntu 的很大一部分。只有真正移植到 Python 3.x 的东西才能在 python3 下运行。