升级到 Python 3.3 并设置 Django 时出现问题

升级到 Python 3.3 并设置 Django 时出现问题

我是 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 下运行。

相关内容