获取“加载MySQLdb模块时出错:没有名为MySQLdb的模块” – 尝试以前发布的解决scheme
对于OSX 10.6用户来说,这是一个非常讨论的问题,但是我一直无法find可行的解决scheme。 这是我的设置:
Python 2.6.1 64位Django 1.2.1 MySQL 5.1.47 osx10.6 64位
我用–no-site-packages创build了一个virtualenvwrapper,然后安装了Django。 当我激活virtualenv并运行python manage.py syncdb时,我得到这个错误:
Traceback (most recent call last): File "manage.py", line 11, in <module> execute_manager(settings) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager utility.execute() File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 257, in fetch_command klass = load_command_class(app_name, subcommand) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/__init__.py", line 67, in load_command_class module = import_module('%s.management.commands.%s' % (app_name, name)) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/commands/syncdb.py", line 7, in <module> from django.core.management.sql import custom_sql_for_model, emit_post_sync_signal File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/core/management/sql.py", line 5, in <module> from django.contrib.contenttypes import generic File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/contrib/contenttypes/generic.py", line 6, in <module> from django.db import connection File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/__init__.py", line 75, in <module> connection = connections[DEFAULT_DB_ALIAS] File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 91, in __getitem__ backend = load_backend(db['ENGINE']) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/utils.py", line 32, in load_backend return import_module('.base', backend_name) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) File "/Users/joerobinson/.virtualenvs/dj_tut/lib/python2.6/site-packages/django/db/backends/mysql/base.py", line 14, in <module> raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
我也安装了MySQL的Python适配器,但无济于事(也许我安装不正确?)。
有人以前处理过?
我有同样的错误和pip install MySQL-python
解决了我。
备用安装:
- 如果你没有点子,
easy_install MySQL-python
应该可以工作。 - 如果你的python是由一个包装系统pipe理的,你可能需要使用该系统(例如
sudo apt-get install ...
)
下面,索利注意到,如果您收到以下错误:
EnvironmentError: mysql_config not found
…那么你有进一步的系统依赖问题。 解决这个问题的方法会因系统而异,但是对于Debian衍生的系统:
sudo apt-get install python-mysqldb
运行Ubuntu,我必须这样做:
sudo apt-get install python-mysqldb
添加到其他答案,以下帮助我完成安装mysql-python:
virtualenv,mysql-python,点子:任何人都知道如何?
在Ubuntu上…
apt-get install libmysqlclient-dev apt-get install python-dev pip install mysql-python
如果您没有适当的权限,请不要忘记在命令的开头添加“sudo”。
试试下面的命令。 他们为我工作:
brew install mysql-connector-c pip install MySQL-python
mysql_config
必须在path上。 在Mac上,做
export PATH=$PATH:/usr/local/mysql/bin/ pip install MySQL-python
pip install mysql-python
提出了一个错误:
EnvironmentError:找不到mysql_config
sudo apt-get install python-mysqldb
解决了这个问题。
试试这个:这解决了我的问题。
pip安装MySQL-python
我是如何工作的:
virtualenv -p python3.5 env/test
采购我的环境后:
pip install pymysql pip install django
然后,我运行startproject,并在manage.py中添加了以下内容:
+ try: + import pymysql + pymysql.install_as_MySQLdb() + except: + pass
另外,更新这个里面的设置:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'foobar_db', 'USER': 'foobaruser', 'PASSWORD': 'foobarpwd', } }
我也有我的virtualenv安装configparser==3.5.0
,不知道如果这是必需的或不…
希望它有帮助,
这个问题是MySQL for Python适配器安装不完整/不正确的结果。 具体来说,我不得不编辑mysql_config文件的path来指向/ usr / local / mysql / bin / mysql_config – 在本文中会有更详细的讨论: http : //dakrauth.com/blog/entry/python-and- Django的设置-MAC-OS-X-豹/
下面的工作完全适合我,运行Ubuntu 13.10 64位:
sudo apt-get install libmysqlclient-dev sudo apt-get install python-dev
现在,导航到您的virtualenv(如env文件夹)并执行以下命令:
sudo ./bin/pip install mysql-python
我实际上在一个单独的问题中find了解决scheme ,我在下面引用它:
如果使用–no-site-packages开关(缺省值)创build了virtualenv,则系统范围内安装的附加组件(如MySQLdb)不包含在虚拟环境软件包中。
您需要安装带有virtualenv的pip命令的MySQLdb。 要么使用bin / activate脚本来激活virtualenv,要么使用virtualenv中的bin / pip来在本地安装MySQLdb库。
或者,通过使用–system-site-package开关包含系统站点包,创build一个新的virtualenv。
我认为这应该也适用于OSX。 唯一的问题是获得一个等效的命令来安装libmysqlclient-dev
和python-dev
,因为我们需要它们来编译mysql-python
。
希望这可以帮助。
这适用于红帽企业Linux服务器版本6.4
sudo yum install mysql-devel sudo yum install python-devel pip install mysql-python
sudo apt-get install python-mysqldb
在ubuntu中完美工作
pip install mysql-python
会引发一个环境错误
你可以安装为pip install mysqlclient
在Windows 8 64位系统上, pip
不适用于我。 easy_install mysql-python
适合我。 如果pip不起作用,可以使用easy_install
避免在Windows上构build二进制文件。
我做了升级到OSX Mavericks和Pycharm 3,并开始得到这个错误,我用PIP和易于安装,并得到了错误:
命令“/ usr / bin / clang”失败,退出状态为1。
所以我需要更新到Xcode 5,并再次尝试使用点安装。
pip install mysql-python
这解决了所有的问题。
我在OSX 10.6.6上遇到了同样的问题。 但是在terminal上只是一个简单的easy_install mysql-python
并没有解决它作为另一个打嗝:
error: command 'gcc-4.2' failed with exit status 1
。
显然,从XCode3(本机随OSX 10.6发行)升级到XCode4之后出现此问题。 这个较新的版本取消了build设ppc拱门的支持。 如果它的情况相同,请在easy_install mysql-python
之前尝试以下操作
sudo bash export ARCHFLAGS='-arch i386 -arch x86_64' rm -r build python setup.py build python setup.py install
非常感谢Ned Deily提供的解决scheme。 在这里检查
这里提出的错误是在导入python模块。 这可以通过将python site-packages文件夹添加到OS X上的环境variables$ PYTHONPATH来解决。因此,我们可以将以下命令添加到.bash_profile文件中:
export PYTHONPATH="$PYTHONPATH:/usr/local/lib/pythonx.x/site-packages/"
*用您正在使用的python版本replacexx
如果你正在使用python3,那么试试这个(我的操作系统是Ubuntu 16.04):
sudo apt-get install python3-mysqldb
对于我来说,只需重新安装mysql-python即可解决问题
pip uninstall mysql-python pip install mysql-python
安装命令行工具适用于我:
xcode-select --install
我通过使用pip安装MySQL-python
库克服了同样的问题。 当我第一次在settings.py中更改了我的数据库设置并执行了makemigrations命令时,您可以看到显示在我的控制台上的消息(该解决scheme正在关注下面的消息,只是看到了这一点)。
(vir_env) admins-MacBook-Pro-3:src admin$ python manage.py makemigrations Traceback (most recent call last): File "manage.py", line 10, in <module> execute_from_command_line(sys.argv) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line utility.execute() File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/core/management/__init__.py", line 312, in execute django.setup() File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/__init__.py", line 18, in setup apps.populate(settings.INSTALLED_APPS) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/apps/registry.py", line 108, in populate app_config.import_models(all_models) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/apps/config.py", line 198, in import_models self.models_module = import_module(models_module_name) File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/contrib/auth/models.py", line 41, in <module> class Permission(models.Model): File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/models/base.py", line 139, in __new__ new_class.add_to_class('_meta', Options(meta, **kwargs)) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/models/base.py", line 324, in add_to_class value.contribute_to_class(cls, name) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/models/options.py", line 250, in contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/__init__.py", line 36, in __getattr__ return getattr(connections[DEFAULT_DB_ALIAS], item) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/utils.py", line 240, in __getitem__ backend = load_backend(db['ENGINE']) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/utils.py", line 111, in load_backend return import_module('%s.base' % backend_name) File "/usr/local/Cellar/python/2.7.12_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module __import__(name) File "/Users/admin/Desktop/SetUp1/vir_env/lib/python2.7/site-packages/django/db/backends/mysql/base.py", line 27, in <module> raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb
最后我克服了这个问题如下:
(vir_env) admins-MacBook-Pro-3:src admin$ pip install MySQLdb Collecting MySQLdb Could not find a version that satisfies the requirement MySQLdb (from versions: ) No matching distribution found for MySQLdb (vir_env) admins-MacBook-Pro-3:src admin$ pip install MySQL-python Collecting MySQL-python Downloading MySQL-python-1.2.5.zip (108kB) 100% |████████████████████████████████| 112kB 364kB/s Building wheels for collected packages: MySQL-python Running setup.py bdist_wheel for MySQL-python ... done Stored in directory: /Users/admin/Library/Caches/pip/wheels/38/a3/89/ec87e092cfb38450fc91a62562055231deb0049a029054dc62 Successfully built MySQL-python Installing collected packages: MySQL-python Successfully installed MySQL-python-1.2.5 (vir_env) admins-MacBook-Pro-3:src admin$ python manage.py makemigrations No changes detected (vir_env) admins-MacBook-Pro-3:src admin$ python manage.py migrate Operations to perform: Synchronize unmigrated apps: staticfiles, rest_framework, messages, crispy_forms Apply all migrations: admin, contenttypes, sessions, auth, PyApp Synchronizing apps without migrations: Creating tables... Running deferred SQL... Installing custom SQL... Running migrations: Rendering model states... DONE Applying PyApp.0001_initial... OK Applying PyApp.0002_auto_20170310_0936... OK Applying PyApp.0003_auto_20170310_0953... OK Applying PyApp.0004_auto_20170310_0954... OK Applying PyApp.0005_auto_20170311_0619... OK Applying PyApp.0006_auto_20170311_0622... OK Applying PyApp.0007_loraevksensor... OK Applying PyApp.0008_auto_20170315_0752... OK Applying PyApp.0009_auto_20170315_0753... OK Applying PyApp.0010_auto_20170315_0806... OK Applying PyApp.0011_auto_20170315_0814... OK Applying PyApp.0012_auto_20170315_0820... OK Applying PyApp.0013_auto_20170315_0822... OK Applying PyApp.0014_auto_20170315_0907... OK Applying PyApp.0015_auto_20170315_1041... OK Applying PyApp.0016_auto_20170315_1355... OK Applying PyApp.0017_auto_20170315_1401... OK Applying PyApp.0018_auto_20170331_1348... OK Applying PyApp.0019_auto_20170331_1349... OK Applying PyApp.0020_auto_20170331_1350... OK Applying PyApp.0021_auto_20170331_1458... OK Applying PyApp.0022_delete_postoffice... OK Applying PyApp.0023_posoffice... OK Applying PyApp.0024_auto_20170331_1504... OK Applying PyApp.0025_auto_20170331_1511... OK Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying sessions.0001_initial... OK (vir_env) admins-MacBook-Pro-3:src admin$