Bluemix上Python应用启动ERR import MySQLdb ImportError: No module named MySQLdb

来源:互联网 发布:淘宝日用品代理 编辑:程序博客网 时间:2024/05/30 05:16

在将“Bluemix云端数据库服务ClearDB MySQL使用示例———Python开发投票程序”的程序通过“cf”工具上传到Bluemix上后,启动失败,根据提示使用“cf logs pyVote --recent”命令查看日志中提示:ERR import MySQLdb ImportError: No module named MySQLdb,如下图:



解决方法:

修改项目中的“requirements.txt”文件。

这是一个纯文本的文件,只要在里面添加一句就可以:

MySQL-python==1.2.3
然后再执行:

cf push pyVote
上传应用程序代码,之后就会看到类似的提示:


Bluemix中会使用pip根据“requirements.txt”文件中声明的依赖项去安装所需要的依赖,安装成功后就可以启动成功了。

关于“requirements.txt”文件

Bluemix是使用“requirements.txt”文件名,而实际应该是“requirements.pip”,这是 pip(包管理工具)的功能。

pip 可以根据 requirements.txt 安装类库。

在很多Python项目中都包含一个requirements.pip文件,里面写的是一些包的名称和版本之类的信息,这是做什么用的呢?
比如一个requirements.pip文件内容如下:

html5lib==0.999ipdb==0.8ipython==2.3.1mongo==0.2.0path.py==7.0python-dateutil==2.3requests==2.5.0unicodecsv==0.9.4
这里面写的是运行这个项目所需要的环境,包括一些库,运行之前需要使用pip install -r requirements.pip命令安装这些库。

Python项目中经常会带requirements.txt文件,里面是项目所依赖的包的列表,也就是依赖关系清单,这个清单也可以使用pip命令自动生成。
pip命令:

pip freeze > requirements.txt
这样就自动生成requirements.txt了。如果需要生成在虚拟环境下的依赖关系,需要先进入虚拟环境。

1 0
原创粉丝点击