python - 为第二版 Python 安装 MySQLdb 时遇到问题

标签 python mysql permissions configuration-files

上下文:我正在 Ubuntu 服务器上处理一些 Python 脚本。我需要使用一些用 Python 2.7 编写的代码,但我们的服务器有 Python 2.5。我们安装了 2.7 作为 Python 的第二个实例,这样我们就不会破坏任何依赖于 2.5 的东西。现在我需要安装 MySQLdb 包。我想我不能通过运行 apt-get install python-mysqldb 来简单地做到这一点,因为它可能只是重新安装到 python 2.5,所以我只是尝试手动安装它。

问题:在 MySQL-python-1.2.3 目录中,我尝试运行 python2.7 setup.py build 并收到一条错误消息:

sh: /etc/mysql/my.cnf: Permission denied

连同一个说 setup.py 找不到文件的回溯。

请注意,默认情况下,setup.py 脚本会在 $PATH 目录中查找 mysql_config 文件,但我们服务器的 mysql 配置文件是 /etc/mysql/my.cnf ,所以我更改了包的 site.cfg 文件以匹配。我检查了该文件的权限,即 -rw-r--r--。我尝试以 root 身份运行脚本,但遇到了同样的错误。

有什么建议吗?

最佳答案

据我所知,“mysql_config”和“my.cnf”之间存在非常显着的差异。

  • “mysql_config”通常位于您的 MySQL 安装的“bin”文件夹中,执行时会显示有关您的安装的各种文件系统位置信息。

  • “my.cnf”是MySQL自身使用的配置脚本。

简而言之,当脚本要求“mysql_config”时,它的字面意思应该是名称为“mysql_config”的可执行文件,而不是您提供给它的文本配置文件。 MYSQLdb 需要“mysql_config”文件以便它知道要使用哪些库。就是这样。它不会直接读取您的 MySQL 配置。

您遇到的错误可以归结为;

  1. 它试图打开错误的文件并遇到权限问题。

  2. 即使在尝试打开该文件后,它仍然找不到“mysql_config”文件。

从这里,您需要找到 MySQL 安装的“bin”文件夹并检查它是否包含“mysql_config”。然后您可以将文件夹路径编辑到“site.cnf”文件中,您应该一切顺利。

关于python - 为第二版 Python 安装 MySQLdb 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4138504/

相关文章:

php - WP 插入帖子不起作用

permissions - 使用 boost::filesystem/std::filesystem 检查有效权限

c# - 如何使用 WCF 发送用户凭据以在远程计算机上使用?

java - 有没有办法以编程方式请求许可?

php - 如何使用 PHP 在同一个 SQL 列中存储多条记录?

python - 返回所有相等的列

python - Bcrypt salt 将字节对象视为字符串并且不会散列密码

python - sklearn GridSearchCV 中的记分器问题

python - Keras ImageDataGenerator 中的增强

php - 外键,关系问题