如何在 virtualenv 中降级 Cython?

How to downgrade Cython in a virtualenv?

如何在 virtualenv 中降级 Cython?

我是这样创建的:

virtualenv -p python3.4 .
pip install cython

然后它安装了版本 Cython-0.22.1.tar.gz。 但是,我正在尝试在 virtualenv 中安装 Kivy,显然 Cython 有一个错误,当安装该版本的 Cython 时,该错误不允许 pip install kivy 成功完成。有人提到你必须降级 Cython,才能让 Kivy 编译。

所以我尝试了:

pip uninstall cython
pip install cython 0.20

这给了我:

Using cached Cython-0.22.1.tar.gz
Collecting 0.21.2
Could not find a version that satisfies the requirement 0.21.2 (from versions: )
No matching distribution found for 0.21.2

所以旧版本的 Cython 似乎不可用?

那我该如何降级呢?

编辑#1pip --version 的输出: 点 7.1.0

您使用的是哪个版本的 pip?

  • pip < 6.0 然后 运行 使用 --ignore-installed 选项安装
  • pip >= 6.0 然后使用 --no-cache-dir 选项

正如此评论中提到的 cel,用于此目的的正确命令不是 pip install cython 0.20,而是 pip install cython==0.20。这解决了我的问题和以下 Kivy 安装 (pip install kivy) 运行 通过没有错误。

也许这对遇到这个答案的人有用:

设置 virtualenv 以使用 Kivy 进行开发的完整过程:

  1. 需要安装的依赖:

    1. sudo apt-get install mercurial
    2. sudo apt-get install python3-dev python3-numpy libsdl-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsmpeg-dev libportmidi-dev libavformat-dev libswscale-dev
    3. sudo apt-get build-dep python-pygame
  2. 创建虚拟环境

    1. virtualenv --no-site-packages --distribute -p python3.4
  3. 设置虚拟环境

    1. pip install --upgrade pip
    2. pip install cython==0.20
    3. pip install hg+http://bitbucket.org/pygame/pygame
    4. pip install kivy