python - 为什么在 virtualenv 中运行 mysqld 时会出错?

标签 python mysql virtualenv mysql-python virtualenvwrapper

当我在我的 virtualenv 中运行 mysqld 时,我得到一个错误并中止消息。

(nettuts)sez@sez-laptop:~/.virtualenvs$ mysqld
111220 15:22:59 [Warning] Can't create test file /var/lib/mysql/sez-laptop.lower-test
111220 15:22:59 [Warning] Can't create test file /var/lib/mysql/sez-laptop.lower-test
mysqld: Can't change dir to '/var/lib/mysql/' (Errcode: 13)
111220 15:22:59 [ERROR] Aborting

111220 15:22:59 [Note] mysqld: Shutdown complete

首先我尝试使用

安装 MySQL-python
pip install -E default/ MySQL-python

这给了我

Requirement already satisfied (use --upgrade to upgrade): '
MySQL-python in ./default/lib/python2.7/site-packages
Cleaning up...

然后当我检查它是否安装时它显示它没有

(nettuts)sez@sez-laptop:~/.virtualenvs$ pip freeze
Django==1.3.1
wsgiref==0.1.2

然后我决定使用 pip install MySQL-python 安装它,它安装得很好,因为它显示了

(nettuts)sez@sez-laptop:~/.virtualenvs$ pip freeze
Django==1.3.1
MySQL-python==1.2.3
wsgiref==0.1.2

如何让 MySQL-python 在 vi​​rtualenv 中正常运行?

更新 当我运行 sudo invoke-rc.d mysql start 这就是我得到的结果

(nettuts)sez@sez-laptop:~/.virtualenvs/nettuts$ sudo invoke-rc.d mysql start
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql

然后当我按照指示运行 start mysql 这就是我得到的结果

(nettuts)sez@sez-laptop:~/.virtualenvs/nettuts$ sudo start mysql
start: Job is already running: mysql

那么这里到底发生了什么?

最佳答案

它与 Python 和 virtualenv 没有任何关系。您的 mysqld 未配置为在普通用户的权限下正常运行 - 它需要使用您的发行版正常服务启动机制(例如 sudo invoke-rc.d mysql start 在 Ubuntu 上)调用。

关于python - 为什么在 virtualenv 中运行 mysqld 时会出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8577055/

相关文章:

python - Pandas 拆分并选择第二个元素

python - 通过 Twitter API 提取趋势标签

mysql - 在单个查询中完全匹配,或者如果没有完全匹配则进行部分匹配?

mysql - Hibernate Schema 更新问题

python - 如果我只在一个虚拟环境中安装一个包,是否需要在其他虚拟环境中重新安装它?

python - Python 中的猴子修补会影响直接导入吗?

python - 多线程修改python中的全局列表

MySQL 按 10 天聚合数据

python - 如何在 python 中创建 virtualenv?

python - 使用 virtualenv 导入错误