无法在 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
如果出现错误,请安装最新版本的setuptools
和wheel
:
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-python
和 mysql-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中安装