Joe*_*Joe 1199 python mysql pip pypi mysql-python
我正在尝试安装MySQL_python适配器的1.2.2版本,使用使用该--no-site-packages选项创建的新virtualenv .PyPi中显示的当前版本是1.2.3.有没有办法安装旧版本?我发现一篇文章说这应该这样做:
pip install MySQL_python==1.2.2
Run Code Online (Sandbox Code Playgroud)
但是,安装后,它仍会在站点包中显示MySQL_python-1.2.3-py2.6.egg-info.这是这个包特有的问题,还是我做错了什么?
Mah*_*der 810
首先,我看到你正在尝试做的两个问题.由于您已经安装了版本,因此您应该卸载当前现有的驱动程序或使用pip install -I MySQL_python==1.2.2
但是,您很快就会发现这不起作用.如果你查看pip的安装日志,或者如果你这样做,pip install -Iv MySQL_python==1.2.2你会发现PyPI URL链接不适用于MySQL_python v1.2.2.您可以在此处验证:http://pypi.python.org/pypi/MySQL-python/1.2.2
由于sourceforge.net最近的升级和PyPI的陈旧URL,下载链接404s和后备URL链接无限重定向.
因此,要正确安装驱动程序,您可以按照以下步骤操作:
pip uninstall MySQL_python
pip install -Iv http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.2/MySQL-python-1.2.2.tar.gz/download
Run Code Online (Sandbox Code Playgroud)
小智 459
您甚至可以使用带pip install命令的版本范围.像这样的东西:
pip install 'stevedore>=1.3.0,<1.4.0'
Run Code Online (Sandbox Code Playgroud)
如果软件包已经安装并且您想要降级它,请添加--force-reinstall如下:
pip install 'stevedore>=1.3.0,<1.4.0' --force-reinstall
Run Code Online (Sandbox Code Playgroud)
Zac*_*Weg 60
要安装特定的python包版本,无论是第一次,升级还是降级使用:
pip install --force-reinstall MySQL_python==1.2.4
Run Code Online (Sandbox Code Playgroud)
MySQL_python版本1.2.2不可用,所以我使用了不同的版本.要查看索引中的所有可用软件包版本,请排除以下版本:
pip install MySQL_python==
Run Code Online (Sandbox Code Playgroud)
dap*_*wit 37
我相信如果你已经安装了一个软件包,pip将不会用另一个版本覆盖它.使用-I忽略以前的版本.
Jac*_*han 13
有时,先前安装的版本会被缓存。
~$ pip install pillow==5.2.0
Run Code Online (Sandbox Code Playgroud)
它返回以下内容:
已满足要求:/home/ubuntu/anaconda3/lib/python3.6/site-packages(5.2.0)中的pillow == 5.2.0
我们可以将--no-cache-dir与-I一起使用来覆盖它
~$ pip install --no-cache-dir -I pillow==5.2.0
Run Code Online (Sandbox Code Playgroud)
由于这似乎是 pip 版本 10 中引入的重大更改,因此我降级到兼容版本:
pip install 'pip<10'
Run Code Online (Sandbox Code Playgroud)
此命令告诉 pip 安装低于版本 10 的模块版本。在virutalenv 中执行此操作,这样您就不会搞砸 Python 的站点安装。
我最近在使用我想在某处记录的pip's-I标志时遇到了一个问题:
-I将不卸载继续之前的现有的包; 它只会将其安装在旧的之上。这意味着应该在版本之间删除的任何文件都将保留在原处。如果这些文件与其他安装的模块共享名称,这可能会导致奇怪的行为。
例如,假设有一个名为package. 在packages 文件之一中,他们使用import datetime. 现在,在 中package@2.0.0,这指向标准库datetime模块,但在 中package@3.0.0,他们添加了一个本地datetime.py作为标准库版本的替代(无论出于何种原因)。
现在假设我运行pip install package==3.0.0,但后来意识到我实际上想要 version 2.0.0。如果我现在运行pip install -I package==2.0.0,旧datetime.py文件将不会被删除,因此任何调用import datetime都会导入错误的模块。
就我而言,这表现为奇怪的语法错误,因为较新版本的包添加了一个仅与 Python 3 兼容的文件,当我将包版本降级以支持 Python 2 时,我继续导入仅 Python-3 的模块。
基于此,我认为-I在更新已安装的软件包版本时卸载旧软件包总是比使用更可取。
以下命令对我有用
Python 版本 - 2.7
包 - python-jenkins
命令 - $ pip install 'python-jenkins>=1.1.1'
| 归档时间: |
|
| 查看次数: |
1242034 次 |
| 最近记录: |