无知人生,记录点滴

不积跬步,无以至千里;不积小流,无以成江海……

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

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

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

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

扫码向博主提问

去开通我的Chat快问

testcs_dn

博客专家

有什么问题,我在这里等你
  • 擅长领域:
  • Web
  • Java
  • C#
版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢。 https://blog.csdn.net/testcs_dn/article/details/51559286
个人分类: Python
上一篇快速原型设计工具 Axure RP 8安装记录
下一篇IndentationError: unindent does not match any outer indentation level
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭