欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python虚拟环境virtualenv下安装MySQL-python(1.2.3)

程序员文章站 2022-06-03 19:08:27
该文章很有用建议收藏 我们在Windows下开发python应用时,可能需要安装各种第三方模块,但如果又不想污染公共的python环境,怎么办呢?最好是在各自的 python工程中创建一个virtualenv虚拟环境。博主最近需要在虚拟环境中安装MySQL-python模块,这个模块如果采用pip命 ......

该文章很有用建议收藏

我们在windows下开发python应用时,可能需要安装各种第三方模块,但如果又不想污染公共的python环境,怎么办呢?最好是在各自的 python工程中创建一个virtualenv虚拟环境。博主最近需要在虚拟环境中安装mysql-python模块,这个模块如果采用pip命令行的 方式安装的话,很有可能会遇到蛋疼的提示各种缺少微软某些动态链接库的问题,这个模块的安装,除了命令行方式外,另外一种方式是下载exe文件进行安装, 但在虚拟环境中又不能这样装。于是,我就想,采用exe方式安装的话,到底在python安装目录的lib\site-packages目录下生成了哪些 文件呢?我把这些文件拷贝到虚拟环境相应目录,是否可以达到在虚拟环境安装mysql的目的呢?一试果然可以。现在把从创建virtualenv到安装 mysqldb的过程简述一下。
一、在工程目录下创建虚机环境
在windows命令行进入工程根目录,然后执行以下命令:

d:\pythonworkspace\testenv>virtualenv venv
new python executable in venv\scripts\python.exe
installing setuptools, pip, wheel...done.

d:\pythonworkspace\testenv>
这时虚拟环境就安装好了,可以看到我们的工程目录下出现了一个venv文件夹(venv就是我们的虚拟环境的名字,可以随便起)。
注意,默认情况下,虚拟环境会依赖系统环境中的site packages,就是说系统中已经安装好的第三方package也会安装在虚拟环境中,如果不想依赖这些package,那么可以加上参数 --no-site-packages建立虚拟环境:

d:\pythonworkspace\testenv>virtualenv --no-site-packages [虚拟环境目录]
后记:虚拟环境创建后,只有开启后,才能把包安装到虚拟环境中。那么怎样启动虚拟环境呢?windows环境下,可以直接在cmd命令行运行虚拟环 境目录下的/scripts/activate.bat程序,linux环境下可以在虚拟环境目录下使用source命令,例如:#source ./bin/activate来进行启动。

二、在虚拟环境安装mysql-python
虚拟环境创建后,我们把已经在公共环境使用exe安装好的mysql涉及到的四个文件复制到虚拟环境对应目录(copy到虚拟环境下的site-packages文件夹下即可):

mysql_python-1.2.3-py2.7.egg-info
mysqldb
_mysql.pyd
_mysql_exceptions.py
然后我们检查下有没有安装好:

import mysqldb
发现不报错了,就代表安装好了。

mysqldb模块的exe文件下载版本(mysql-python-1.2.3.win-amd64-py2.7.exe)