如何在virtualenv虚拟环境中安装mysql-python

接触过virtualenv后,想在这个虚拟环境中安装独立的开发环境。在安装MySQLdb时遇到错误

pc 09:09:30
File "/home/pc/work/VENV/py3/local/lib/python2.7/site-packages/setuptools/sandbox.py", line 50, in run_setup
lambda: execfile(
File "/home/pc/work/VENV/py3/local/lib/python2.7/site-packages/setuptools/sandbox.py", line 100, in run
return func()
File "/home/pc/work/VENV/py3/local/lib/python2.7/site-packages/setuptools/sandbox.py", line 52, in <lambda>
{‘__file__‘:setup_script, ‘__name__‘:‘__main__‘}
File "setup.py", line 17, in <module>
File "/tmp/easy_install-FtC77Z/MySQL-python-1.2.5/setup_posix.py", line 43, in get_config
File "/tmp/easy_install-FtC77Z/MySQL-python-1.2.5/setup_posix.py", line 25, in mysql_config
EnvironmentError: mysql_config not found

在国内的网上找了好长时间也没有找到办法,大多数是讲如何安装mysql-python的。先说一下解决过程吧

我是在ubuntu14上安装有virtualenv,在全局环境中安装了mysql-server,安装命令

sudo apt-get install mysql-server

后续过程都是在虚拟环境中进行的。我的是py3

开始找到要想使用mysql需要安装libmysqlclient-dev

安装过后在安装mysql-python还是出错

(py3)[email protected]:~/work/VENV/py3/bin$ pip install mysql-python
Downloading/unpacking mysql-python
Downloading MySQL-python-1.2.5.zip (108kB): 108kB downloaded
Running setup.py (path:/home/pc/work/VENV/py3/build/mysql-python/setup.py) egg_info for package mysql-python

Installing collected packages: mysql-python
Running setup.py install for mysql-python
building ‘_mysql‘ extension
i686-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,5,‘final‘,1) -D__version__=1.2.5 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-i686-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -DTAOCRYPT_DISABLE_X86ASM -g -DNDEBUG
_mysql.c:29:20: fatal error: Python.h: No such file or directory
#include "Python.h"
^
compilation terminated.
error: command ‘i686-linux-gnu-gcc‘ failed with exit status 1
Complete output from command /home/pc/work/VENV/py3/bin/python -c "import setuptools, tokenize;__file__=‘/home/pc/work/VENV/py3/build/mysql-python/setup.py‘;exec(compile(getattr(tokenize, ‘open‘, open)(__file__).read().replace(‘\r\n‘, ‘\n‘), __file__, ‘exec‘))" install --record /tmp/pip-V4wHKY-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/pc/work/VENV/py3/include/site/python2.7:
running install

running build

running build_py

creating build

creating build/lib.linux-i686-2.7

copying _mysql_exceptions.py -> build/lib.linux-i686-2.7

creating build/lib.linux-i686-2.7/MySQLdb

copying MySQLdb/__init__.py -> build/lib.linux-i686-2.7/MySQLdb

copying MySQLdb/converters.py -> build/lib.linux-i686-2.7/MySQLdb

copying MySQLdb/connections.py -> build/lib.linux-i686-2.7/MySQLdb

copying MySQLdb/cursors.py -> build/lib.linux-i686-2.7/MySQLdb

copying MySQLdb/release.py -> build/lib.linux-i686-2.7/MySQLdb

copying MySQLdb/times.py -> build/lib.linux-i686-2.7/MySQLdb

creating build/lib.linux-i686-2.7/MySQLdb/constants

copying MySQLdb/constants/__init__.py -> build/lib.linux-i686-2.7/MySQLdb/constants

copying MySQLdb/constants/CR.py -> build/lib.linux-i686-2.7/MySQLdb/constants

copying MySQLdb/constants/FIELD_TYPE.py -> build/lib.linux-i686-2.7/MySQLdb/constants

copying MySQLdb/constants/ER.py -> build/lib.linux-i686-2.7/MySQLdb/constants

copying MySQLdb/constants/FLAG.py -> build/lib.linux-i686-2.7/MySQLdb/constants

copying MySQLdb/constants/REFRESH.py -> build/lib.linux-i686-2.7/MySQLdb/constants

copying MySQLdb/constants/CLIENT.py -> build/lib.linux-i686-2.7/MySQLdb/constants

running build_ext

building ‘_mysql‘ extension

creating build/temp.linux-i686-2.7

i686-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -Dversion_info=(1,2,5,‘final‘,1) -D__version__=1.2.5 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-i686-2.7/_mysql.o -DBIG_JOINS=1 -fno-strict-aliasing -DTAOCRYPT_DISABLE_X86ASM -g -DNDEBUG

_mysql.c:29:20: fatal error: Python.h: No such file or directory

#include "Python.h"

^

compilation terminated.

error: command ‘i686-linux-gnu-gcc‘ failed with exit status 1

----------------------------------------
Cleaning up...
Command /home/pc/work/VENV/py3/bin/python -c "import setuptools, tokenize;__file__=‘/home/pc/work/VENV/py3/build/mysql-python/setup.py‘;exec(compile(getattr(tokenize, ‘open‘, open)(__file__).read().replace(‘\r\n‘, ‘\n‘), __file__, ‘exec‘))" install --record /tmp/pip-V4wHKY-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/pc/work/VENV/py3/include/site/python2.7 failed with error code 1 in /home/pc/work/VENV/py3/build/mysql-python
Storing debug log for failure in /home/pc/.pip/pip.log

看到如果没有安装python-dev,需要安装这个就开始安装

sudo apt-get install python-dev

此时在安装mysql-python就可以了,所以安装步骤是

1 安装python-dev

sudo apt-get install python-dev

2 安装 libmysqlclient-dev

sudo apt-get install libmysqlclient-dev

3 安装mysql-python

pip install mysql-python

最后进行验证

(py3)[email protected]:~/work/VENV/py3/bin$ 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
>>>

如果导入没有问题就说明导入成功了。

时间: 2024-10-09 19:08:02

如何在virtualenv虚拟环境中安装mysql-python的相关文章

如何在virtualenv环境中安装指定的python版本

指定python版本:virtualenv   -p python执行文件路径     自定义虚拟环境名称.如果文件路径有空格,用引号. 如果不指定python版本,则默认使用环境变量中的python版本 可使用-p PYTHON_EXE选项在创建虚拟环境的时候指定Python版本 1 #创建python2.7虚拟环境 2 virtualenv -p /usr/bin/python2.7 ENV2.7 3 4 #创建python3.4虚拟环境 5 virtualenv -p /usr/local

ubuntu14.04在虚拟环境中安装flask遇到的问题

以下假设已激活虚拟环境 问题1:"The C extension could not be compiled, speedups are not enabled" 原因:当使用pip安装flask时,flask package是从源码编译的,而编译时需要一些头文件(如python.h),pythonx.x-dev包含这些头文件. When you use pip to install numpy, the packages is compiled from source. The py

在python3中安装mysql扩展,No module named &#39;ConfigParser&#39;

在python2.7中,我们安装的是 MySqldb或这 MySQL-python,能够正却安装,但在python3中,由于 其使用的扩展  ConfigParser 已经改名为 configparser,所以在python3 不能正常按转了.. 在 stackoverflow 中的解释: In Python 3, ConfigParser has been renamed to configparser for PEP 8 compliance. It looks like the packa

Linux系统中安装MySQL数据库操作手册

Linux系统中MySQL数据库安装手册 一.安装概述: 在Linux操作系统中安装MySQL数据库是一个我们必须要掌握的一门技术,也决定了你以后找工作的薪资待遇,所以你知道它的厉害了吧!学会安装只是第一步,你还得学好数据库的基本操作,以及搭建一个数据库的主从配置等等.这些我都会在后面的博文中说到.下面我就简单的写一些安装MySQL数据库的一些步骤,仅供参考,如有什么不妥的地方,还请见谅! 二.安装步骤: (一)基本准备工作 1.打开虚拟机,在虚拟机中下载好最新版的MySQL数据库的压缩包.在M

Maven(一)——如何在Windows操作系统中安装配置Maven环境

今天难得的周末,借此难的机会总结一下关于maven的一些操作: 1.在安装maven之前要确认计算机已经安装并配置了JDK: 2.下载maven: maven-3.0.3:http://download.csdn.net/detail/wangshuxuncom/7367413 maven-3.0.5:http://download.csdn.net/detail/wangshuxuncom/7551799 说明:上述资源均免费下载 这里选择maven-3.0.3来演示安装.将maven-3.0

如何在 CentOS 7 中安装、配置和安全加固 FTP 服务

步骤 1:安装 FTP 服务器 1. 安装 vsftpd 服务器很直接,只要在终端运行下面的命令. # yum install vsftpd 2. 安装完成后,服务先是被禁用的,因此我们需要手动启动,并设置在下次启动时自动启用: # systemctl start vsftpd # systemctl enable vsftpd 3. 接下来,为了允许从外部系统访问 FTP 服务,我们需要打开 FTP 守护进程监听的 21 端口: # firewall-cmd --zone=public --p

如何在CentOS系统中安装配置SNMP服务

CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统:SNMP(简单网络管理协议)能够使网络管理员提高网络管理效能,及时发现并解决网络问题以及规划网络的增长.网络管理员还可以通过SNMP接收网络节点的通知消息以及告警事件报告等来获知网络出现的问题.本文主要介绍如何在CentOS系统中安装配置SNMP服务. 工具/原料 CentOS操作系统 方法/步骤 使用SNMP服务前

在RHEL6中安装mysql数据库

今天要给大家演示的是在RHEL6系统中安装mysql数据库,本次实验是在VMware虚拟机中实现. 系统版本:2.6.32-71.el6.i686 [[email protected] ~]# uname -a Linux wuli.redhat.com 2.6.32-71.el6.i686 #1SMP Wed Sep 1 01:26:34 EDT 2010 i686 i686 i386 GNU/Linux 数据库版本:5.6.20 [[email protected] Downloads]#

memcached—如何在Windows操作系统中安装、启动和卸载memcached

下班了,今天总结一下如何在Windows操作系统中安装.启动和卸载memcached: 1.下载相关软件: 下载地址:http://download.csdn.net/download/wangshuxuncom/8249501: 2.解压获取到的压缩文件,将得到一个名为"memcached-1.2.6-win32-bin"的文件夹,将该文件夹拷贝到自认为适当的位置(比如拷贝到C盘根目录): 3.通过cmd命令进入Windows的命令行模式,输入如下命令"cd /d C:\m