【问题标题】:Can not get mysql-connector-python to install in virtualenv无法在 virtualenv 中安装 mysql-connector-python
【发布时间】: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 是描述该过程的博客。

标签: python mysql


【解决方案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的匹配分布
                    猜你喜欢
                    • 2015-01-13
                    • 2016-01-24
                    • 1970-01-01
                    • 2015-01-31
                    • 2016-04-02
                    • 2017-09-10
                    • 1970-01-01
                    • 2020-08-11
                    相关资源
                    最近更新 更多