已安装MySQLdb的,外面工作的virtualenv中,但它里面不存在。 如何解决?(Have

2019-08-02 11:21发布

我使用的是最新的所有软件(Django的,Python和virtualenv中,MySQLdb的)的版本,我不能得到这个工作。 当我在Python提示符从virtualenv中的外运行“进口MySQLdb的”,它的工作原理,它里面说“导入错误:没有模块名为MySQLdb的”。

我努力学习Python和Linux的Web开发。 我知道,这是最容易使用SQLLite,但我想学习如何开发较大规模的应用堪比我可以在.NET做。 我读过关于谷歌的每个博客文章和每一个岗位在这里StackOverflow上,他们都建议我运行“命令PIP安装mysql-python的”,但它只是说:“需求已经满足的:mysql-蟒蛇在/ usr / lib中/ pymodules / python2.7"

任何帮助,将不胜感激! 我在这里卡住了,不想在认输,只是回到微软技术这样做,因为我甚至无法获得一个基本的开发环境和运行。

Answer 1:

如果已创建与该virtualenv中--no-site-packages切换(默认值),则整个系统的安装添加诸如MySQLdb的不包括在虚拟环境中的软件包。

你需要用安装MySQLdb的pip用的virtualenv安装命令。 无论是激活与该的virtualenv bin/activate脚本,或使用bin/pip从virtualenv中内安装MySQLdb的库在本地以及。

另外,创建通过使用附带的系统站点包新的virtualenv --system-site-package开关。



Answer 2:

  1. source $ENV_PATH/bin/activate
  2. pip uninstall MySQL-python
  3. pip install MySQL-python

这为我工作。



Answer 3:

我经历同样的问题去了,但是使用PIP从virtualenv中我得到这个错误并没有解决问题

error: could not delete '/Library/Python/2.7/site-packages/_mysql.so': Permission denied

早些时候,我已经安装的软件包通过sudo pip install mysql-python

要解决,复制文件/Library/Python/2.7/site-packages/MySQL_python-1.2.5-py2.7.egg-info/Library/Python/2.7/site-packages/_mysql*~/v/lib/python-2.7/site-packages ,包括/usr/local/mysql/libDYLD_LIBRARY_PATH环境变量。

对于第二步我做export DYLD_LIBRARY_PATH=/usr/local/mysql/lib~/.profile



文章来源: Have MySQLdb installed, works outside of virtualenv but inside it doesn't exist. How to resolve?