在virtualen中安装MySQLdb后无法导入它

2024-04-24 07:32:26 发布

您现在位置:Python中文网/ 问答频道 /正文

在系统: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连接器:

^{pr2}$

然后我激活了一个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?非常感谢。(如果表达不清楚,请告诉我,我会更新,谢谢)


Tags: installpipconnectorvirtualenvvenvlibdistmysql
1条回答
网友
1楼 · 发布于 2024-04-24 07:32:26

then I activated a virtualenv and installed the mysql-connector (...) dpkg -i mysql-connector-python_2.0.4-1ubuntu14.04_all.deb (...) then I had to install MySQLdb inside the virtualenv: sudo apt-get install python-mysqldb

呃。。。apt-getdpkg是您发行版的包管理器,这与pip和virtualenv无关。您的发行版的包管理器安装系统包(.deb,在您的情况下)并在系统范围内安装它们。virtualenv的要点是在一个隔离的“虚拟”环境中安装python包(使用pip)。你想要的是:

# source path/to/your/venv/bin/activate
# pip install your-python-package

请注意,所有这些都记录在virtualenvpip。。。在

相关问题 更多 >