我一直在努力使用MySQLdb
。在我的项目(Python 2.7)中,我有:
import MySQLdb
响应:ImportError: No module named MySQLdb
。
app.yaml :
libraries:
- name: MySQLdb
version: latest
我发现MySQLdb
是预定义标准模块的一部分。但是我仍然无法解决它。何时
pip install -t /lib MySQLdb
答复为:
收集MySQLdb
找不到满足MySQLdb要求的版本(来自版本:) 找不到与MySQLdb匹配的分布
所以我遵循了一些tuts并做到了:
sudo apt-get install python-mysqldb
在安装过程中,我得到了:
您正在Cloud Shell中运行apt-get。请注意,您的云 Shell机器是临时性的,不会在系统范围内进行更改 在会话结束之后。
实际上,这些更改仅在会话范围内保留。
有任何意见,建议吗?我做某事。错误吗?
答案 0 :(得分:1)
app.yaml文件仅在部署在App Engine上时才用于您的应用程序。它仅为您已部署的应用程序指定一些配置。因此,通过定义:
libraries:
- name: MySQLdb
version: "latest"
它基本上指示App Engine平台在实例上使用该内置库来运行代码。
现在,如here所述,要在本地计算机上进行开发,您需要自己安装该库。您可以通过运行以下命令来做到这一点:
pip install MySQL-python
请注意,您也不必在lib
文件夹中安装此库。仅当库未在Built-in Third-party Libraries中列出时才需要这样做,以便在部署库时将库与您的应用程序一起上传。如果它在列表中,那么在app.yaml文件中引用它就足够了。
关于Cloud Shell的最后一件事。它是提供给您的小型VM实例,以简化资源管理或测试。它不是为了发展。每次启动时,都会安装一个默认映像(因此,您安装的所有库或操作系统级别的工具都将丢失)。仅主文件夹被复制。默认情况下,某些有用的工具会安装在gcloud之类的图片上。