系统:ubuntu14.04,mysql:5.5,python:2.7.4
我使用以下命令在virtualenv之外安装了mysql connector python:

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

我可以在virtualenv之外正确使用mysql连接器:
think@think-Inspiron-N4050:~$ python
Python 2.7.6 (default, Jun 22 2015, 18:00:18)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>>
>>>

然后我激活了一个virtualenv并安装了mysql连接器。我使用了此方法(我从官方网站下载了此安装包):
    think@think-Inspiron-N4050:~/myzone/MindFly$ source venv/bin/activate
(venv)think@think-Inspiron-N4050:~/myzone/MindFly$ cd ~/download/
(venv)think@think-Inspiron-N4050:~/download$ dpkg -i mysql-connector-python_2.0.4-1ubuntu14.04_all.deb

正确安装后,无法导入:
(venv)think@think-Inspiron-N4050:~/download$ python
Python 2.7.6 (default, Jun 22 2015, 18:00:18)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named mysql.connector

我不知道为什么,然后我不得不在virtualenv中安装MySQLdb:
(venv)think@think-Inspiron-N4050:~/myzone/MindFly$ sudo apt-get install python-mysqldb

做完以后,我也不能进口了
(venv)think@think-Inspiron-N4050:~/myzone/MindFly$ python
Python 2.7.6 (default, Jun 22 2015, 18:00:18)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named MySQLdb

然后我安装了MySQL python和libmysqlclient dev,它也不工作。
然后我查看了venv/lib/python2.7/site-packages:
(venv)think@think-Inspiron-N4050:~/myzone/MindFly/venv/lib/python2.7/site-packages$ ls
easy_install.py   pip-7.1.2.dist-info        wheel
easy_install.pyc  pkg_resources              wheel-0.24.0.dist-info
_markerlib        setuptools
pip               setuptools-18.2.dist-info

没有mysql connector或mysqldb,我在尝试重新安装mysqlconnector时在/usr/lib/python2.7/dist-packages中找到mysqlconnector,
(venv)think@think-Inspiron-N4050:~/myzone/MindFly$ sudo pip install mysql-connector-python --allow-external mysql-connector-python
[sudo] password for think:
Requirement already satisfied (use --upgrade to upgrade): mysql-connector-python in /usr/lib/python2.7/dist-packages
Cleaning up...

在安装mysql connector python、mysqldb、mysql python和libmysqlclient-dev之后,我真的不知道该怎么做。我可以在virtualenv之外使用它们,但是我仍然无法在virtualenv中导入mysql connector或mysqldb。
请帮助我:如何在virtualenv中连接mysql?非常感谢。(如果表达式不清楚,请告诉我,我会更新它,谢谢)

最佳答案

然后我激活了一个virtualenv并安装了mysql连接器(…)
dpkg -i mysql-connector-python_2.0.4-1ubuntu14.04_all.deb
(...)
然后我不得不在virtualenv中安装MySQLdb:
sudo apt-get install python-mysqldb
呃。。。apt-getdpkg是您发行版的包管理器,这与pip和virtualenv无关。您的发行版的包管理器安装系统包(.deb在您的情况下)并在系统范围内安装它们。virtualenv的目的是在一个独立的“虚拟”环境中安装python包(使用pip)。你想要的是:
#源路径/to/your/venv/bin/activate
#pip安装python包
注意,所有这些都记录在virtualenvpip中。。。

关于python - 我在virtualenv中安装MySQLdb后无法导入MySQLdb,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32623663/

10-09 20:20
查看更多