中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Ubuntu下Python的MySQLdb的安裝以及常見問題的解決

發布時間:2020-08-05 17:38:29 來源:網絡 閱讀:7168 作者:孤雁不獨飛 欄目:數據庫

     任何一個稍微復雜一點的網站都離不開和數據進行數據交換,在用Django開發的時候需要配置數據庫,當選擇mysql數據庫時,要想django與mysql能順利“溝通”交換數據,就需要一個橋梁——MySQLdb,前天晚上升級電腦ubuntu系統后(由14.04LTS版本升級到16.04LTS),之后電腦上以前的項目在執行python manage.py runserver命令后就報錯了,錯誤信息是                django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory。

然后百度尋找解決方法,包括去Stackoverflow上找方法,絕大多數文章說可能是沒安裝MySQLdb,然后我就去安裝MySQLdb,但是系統提醒已經安裝了,提醒消息如下:Requirement already satisfied (use --upgrade to upgrade): MySQL-python==1.2.3 in /usr/local/lib/python2.7/dist-packages

這就說明系統里有MySQL-python,但為什么會報錯呢?想了很久,然后想到了卸載重新安裝,然后問題就解決了(哈哈,神器吧,其實我也沒弄明白這是為什么,可能和系統有關系,升級系統后,有些以前的東西可能就不好使了)。

        在之前的ubuntu 14.04LTS版本上安裝MySQLdb時就遇到過很多問題,今天在這里做一下總結,這些都是我平時遇到的問題,以后可能會遇到更多,慢慢補充,有需要的朋友可以參考下(不正之處,還希望不吝賜教)。

  1. MySQLdb安裝

     安裝很簡單,如果你的電腦里有pythoneer三大神器virtualenv、fabric 和 pip(如果你是一名python開發人員,最后安裝一下,這三個工具功能確實很強大,網上有安裝方法,在此不做介紹),安裝MySQLdb非常簡單,一個命令就可解決。

pip install MySQL-python

如果你想指定版本可以這樣

pip install MySQL-python==1.2.3

如果安裝不了(前提是確保pip安裝成功,能使用),可能就是權限問題,此時在pip前加上sudo即可。

但是,你以為這樣就好了嗎?在windows系統下這樣可能就好了,但是在ubuntu系統下不行,它需要一些依賴包,安裝命令如下:

sudo apt-get install mysql-client 
sudo apt-get install libmysqlclient-dev
sudo apt-get install python-dev

然后import MySQLdb,沒報錯的話,就是安裝成功


2.在執行python manage.py runserver常見問題

(1)錯誤:mysql_config not found

    解決辦法:安安裝mysqld-dev包,安裝命令上面有

(2)錯誤:_mysql.c:2810: error: expected declaration specifiers before 'init_mysql'

    解決辦法:安裝python-dev

 (3)錯誤:ImportError: No module named setuptools

   解決辦法:安裝setuptools

   sudo apt-get install python-setuptools

 (4)錯誤1193, "Unknown system variable 'storage_engine'

  可能與django的數據庫配置有關系或者mysql配置文件有關,

在數據庫配置中加一句:

'OPTIONS': {
            'init_command': 'SET default_storage_engine=INNODB',
        },

即可解決問題。

MySQL5.5以后默認的數據庫存儲引擎是innod,我用的是5.7版本,而我之前的配置是

'OPTIONS': {
                    'init_command': 'SET storage_engine=MyISAM',  
        },

所以會報錯,所以這里有兩種修改方法,一種就是改django    setting文件,另一種就是改mysql配置文件etc/mysql/my.cnf,加一句SET default_storage_engine=MyISAM,但不管怎么改,兩者應該要保持一致。



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泰和县| 富川| 鸡东县| 东城区| 江津市| 仙桃市| 长治县| 西平县| 扎兰屯市| 永德县| 商河县| 墨竹工卡县| 漳州市| 平塘县| 晋江市| 南岸区| 和硕县| 台中市| 定西市| 保亭| 武山县| 延吉市| 菏泽市| 胶南市| 镇平县| 石台县| 贵溪市| 平定县| 沙田区| 盐源县| 上饶市| 藁城市| 开阳县| 安图县| 全州县| 朔州市| 兴国县| 新乐市| 资溪县| 什邡市| 扶风县|