无法在 virtualenv 中安装 mysql-connector-python

Posted

技术标签:

【中文标题】无法在 virtualenv 中安装 mysql-connector-python【英文标题】:Can not get mysql-connector-python to install in virtualenv 【发布时间】:2014-04-01 18:51:09 【问题描述】:

我使用的是 Amazon Linux AMI 版本 2013.09。我已经安装了 virtualenv 并在激活后运行 pip install mysql-connector-python,但是当我运行我的应用程序时出现错误:ImportError: No module named mysql.connector。有其他人在这样做时遇到困难吗?我可以将它安装在 virtualenv 之外,并且我的脚本可以毫无问题地运行。提前感谢您的帮助!

【问题讨论】:

你运行的是什么版本的 Python? 2.6.9(未知,2013 年 10 月 29 日,19:58:13)[GCC 4.6.3 20120306 (Red Hat 4.6.3-2)] 我能够在我的 venv 中运行我的应用程序,方法是在 virtualenv 之外安装 python 连接器,然后手动将安装在 site-packages 文件夹中的内容复制到我的虚拟环境 site-packages 文件夹中。然而,这不是解决方案,因为它违背了 virtualenv 的目的。有趣的是 pip 还没有这样做。 是的,这很麻烦,因为yum 依赖于 Python 2.6.x。我建议使用 2.7 设置 virtualenv,这样您就可以两全其美。 Here 是描述该过程的博客。 另见***.com/questions/43029672/… 【参考方案1】:

您可以从here下载官方连接器 -

选择Platform independent 版本。

解压缩并 cd 到文件夹。

从您的环境中运行 sudo -H python3 setup.py install

完成

【讨论】:

【参考方案2】:

确保您已从 venv.xml 安装了 mysql 连接器。 在 VSCode 中,对我有用的是我选择了 venv 解释器作为 python 解释器。

https://code.visualstudio.com/docs/python/environments

【讨论】:

答案是真诚地尝试提供问题所要求的信息/分析的直接响应。因此请记住链接不是答案。 欢迎提供解决方案的链接,但请确保您的答案在没有它的情况下有用:添加更多文本和示例或代码,以便有人可以用来解决 OP 帖子中提出的问题。跨度> 【参考方案3】:

它对我有用!

pip install mysql-connector-python-rf

如果出现错误,请安装最新版本的setuptoolswheel

pip install -U setuptools
pip install -U wheel

【讨论】:

【参考方案4】:

我刚刚遇到了同样的问题,以下解决方案均无效。有些已经安装,最后一个给我一个错误

    pip install mysql-connector
    pip install mysql-connector-python
    pip install mysql-connector-python-rf

看起来我所要做的就是在不同的 IDLE 版本中运行代码,从 3.6 迁移到 3.7。 在此之前,我还在我安装的两个不同的python版本中使用了windows repair安装工具。

有时最简单的解决方案会奏效。祝你好运

【讨论】:

【参考方案5】:

还有一些可能出错的地方:不要将自己的模块命名为 mysql

import mysql.connector 将失败,因为导入使项目中的模块优先于站点包,而您的模块可能没有 connector.py 文件。

【讨论】:

【参考方案6】:

命令

pip install mysql-connector-python-rf

在我的 pyenv python 版本 2.7.12 和 pip 版本 9.0.1 中为我工作。

【讨论】:

【参考方案7】:

我找到的解决方案:

sudo pip install mysql-connector-python-rf

如果你看到这个错误:option --single-version-externally-managed not recognized,试试这个:

sudo pip install --egg mysql-connector-python-rf

【讨论】:

【参考方案8】:

我遇到了类似的问题。我的环境详情 - Python 2.7.11 点 9.0.1 CentOS 5.11 版(最终版)

python 解释器出错 -

>>> import mysql.connector
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mysql.connector
>>>

使用 pip 搜索可用模块 -

$ pip search mysql-connector | grep --color mysql-connector-python



mysql-connector-python-rf (2.2.2)        - MySQL driver written in Python
mysql-connector-python (2.0.4)           - MySQL driver written in Python

安装mysql-connector-python-rf -

$ pip install mysql-connector-python-rf

验证

$ python
Python 2.7.11 (default, Apr 26 2016, 13:18:56)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>>

【讨论】:

你知道这两个包的区别吗? “-rf”代表什么? @slim TBH 即使我也有同样的问题!还没有找到答案..肯定不是随机花哨的东西=) mysql-connector-python-random-fix ;) @slim 见"What are the differences..."。总结一下,(1)它是 Django 1.8 所必需的,(2)它是最常被检索到的,(3)它是实际运行的版本。【参考方案9】:

我想补充一下

sudo easy_install mysql-connector

不管我做什么,在 pip 不断崩溃之后为我工作。

【讨论】:

那是唯一一个在相当过时的 EC2 实例上对我有用的方法 在 Ubuntu 64 位 18.04 上也可以使用 Python3.6。有趣 在使用 Python3.7 conda 环境时添加此功能对我有用,其他解决方案均不适用于我...【参考方案10】:
pip install mysql-connector

这对我有用!

【讨论】:

您能告诉我们您正在运行什么环境吗? @slim 我尝试在我的 linux 机器上安装 mql.connector,这对我有用。 什么发行版和版本? 这对我也有用(它安装成功,还没有尝试使用它),使用 Windows 10、Python 3.6.4 和 pip 9.0.1【参考方案11】:

我已经设法通过输入mysql-connector-python 包 URL(取自 MySQL 页面)直接到需求文件而不是依赖项名称来克服这个问题。

我的需求文件如下所示:

bson==0.4.2
https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.0.4.tar.gz
pymongo==3.2.1

创建 virtualenv 并切换到它之后,我正在执行

$ pip install -r ./requirements

其余的工作由 pip 完成,即下载、解压和安装。

【讨论】:

【参考方案12】:

我已经解决了这个问题并尝试升级 pip 和 setuptools,但实际上你需要做的似乎是:

sudo pip install virtualenv --upgrade

升级 virtualenv 后,创建一个新的虚拟环境,激活它并尝试安装:

pip install https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.1.3.tar.gz

(您可能需要更新网址,但这是当前网址)

【讨论】:

【参考方案13】:

试试我的回答here。虽然我的意思是 Python3,你可以修改命令 python3->python 使其适用于 python2

【讨论】:

【参考方案14】:

几件事。包命名不一致,因此您可能需要这样做:

pip search mysql-connector

了解它在您的平台上的名称。我得到了两个结果 mysql-connector-pythonmysql-connector-repackaged

所以先试试这个:

pip install mysql-connector-python

这可能还会给出如下错误:

Some externally hosted files were ignored (use 
    --allow-external mysql-connector-python to allow).

所以最后这应该可以完成工作:

pip install mysql-connector-python --allow-external mysql-connector-python

【讨论】:

我不得不继续我的项目,但我会努力对此进行测试并回复您。谢谢你的回答。 mysql-connector-python--allow-external 之前和之后!! 某些版本的 pip 似乎不支持 --allow-external ?我在 python 2.7.10 venv 中使用 pip 1.3.1 并得到“没有这样的选项:--allow-external” 后续:我也更新了 pip 到 8.0.2 得到同样的结果,没有这个选项!但我知道这在 python 2.7.8 下有效。 找不到满足mysql-connector-python要求的版本(来自版本:)没有找到mysql-connector-python的匹配分布

以上是关于无法在 virtualenv 中安装 mysql-connector-python的主要内容,如果未能解决你的问题,请参考以下文章

在 virtualenv 中安装 Django:MySQL-python 错误

在 Windows 7 上的 virtualenv 中安装 MySQL-python

如何在python2.7中安装MySQLdb 在virtualenv中安装

无法在 virtualenv 中安装 psycopg2 “错误:stdarg.h:没有这样的文件或目录”

在virtualenv中安装mysqlclient时出错

无法让这些配合:mysql-python + virtualenv + percona + centos6