Mysql

無法在 Python venv 會話中導入 mysql.connector

  • December 2, 2019

我使用venv為 Python 3.5.2 創建了一個虛擬環境。我已經安裝了mysql.connector. 只要我不在啟動的venv環境中,連接器就可以正常工作。

from mysql.connector import MySQLConnection, Error
from python_mysql_dbconfig import read_db_config

通過這些陳述,我得到以下資訊:

Traceback (most recent call last):
 File "fetchone.py", line 1, in <module>
   from mysql.connector import MySQLConnection, Error
ImportError: No module named 'mysql.connector'

我一直在尋找解決方案,但大多數都是幾年前的。就像我說的那樣,mysql.connector它位於venv環境之外並且工作正常

您可能想查看以下文章:

無法在 virtualenv 中安裝 mysql-connector-python (Stackoverflow)

接受的答案如下:

幾件事。包命名不一致,因此您可能想要這樣做:

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

以下命令為我解決了這個問題。

pip install mysql-connector-python-rf

這篇文章mysql-connector-python稍微擴展了-rf後綴變體之間的差異。

引用自:https://dba.stackexchange.com/questions/183672