Odnoszę się do następującego samouczka, aby utworzyć stronę logowania do mojej aplikacji internetowej. http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net-29982
Mam problem z bazą danych. Dostaję
ImportError: No module named MySQLdb
kiedy wykonuję
http://127.0.0.1:5000/testdb
Wypróbowałem wszystkie możliwe sposoby instalacji pythona mysql, wspomnianego w samouczku, easy_install, sudo apt-get install.
Zainstalowałem mysql w moim wirtualnym env. Moja struktura katalogów jest taka sama, jak wyjaśniono w samouczku. Moduł został pomyślnie zainstalowany w moim systemie i nadal otrzymuję ten błąd.
Proszę pomóż. Co może być tego przyczyną.
python
mysql
flask
sqlalchemy
mysql-python
user3182194
źródło
źródło
Odpowiedzi:
Jeśli masz problemy z kompilacją rozszerzenia binarnego lub na platformie, na której nie możesz, możesz spróbować użyć czystych
PyMySQL
powiązań Pythona .Po prostu
pip install pymysql
zmień identyfikator URI SQLAlchemy, aby rozpocząć w ten sposób:Istnieje kilka innych sterowników, które możesz wypróbować.
źródło
pip install MySQL-python
przetworzonych.Lub spróbuj tego:
źródło
sudo apt-get install python-mysqldb
możesz spróbować
źródło
mysqlclient
(OSError: mysql_config not found
), gdy próbowałem uruchomić tę samą aplikację na Ubuntu, zaakceptowana odpowiedź rozwiązała problem.Mój problem to:
i moja rezolucja:
na samym początku właśnie zainstalowałem MySQL-python, ale problem nadal istniał. Więc myślę, że jeśli ten problem się wydarzył, powinieneś również wziąć pod uwagę mysql-devel. Mam nadzieję że to pomoże.
źródło
pip install MySQL-python
tak, to jest biletTen problem wystąpił podczas pracy nad SQLAlchemy. Domyślnym dialektem używanym przez SQLAlchemy dla MySQL jest
mysql+mysqldb
.Otrzymałem
No module named MySQLdb
błąd „ ” po wykonaniu powyższej komendy. Aby to naprawić, zainstalowałemmysql-python
moduł i problem został naprawiony.źródło
Z mojego doświadczenia zależy również od wersji Pythona.
Jeśli używasz Pythona 3, odpowiedź @DazWorrall działała dobrze.
Jeśli jednak używasz Pythona 2, powinieneś
który zainstalowałby moduł „MySQLdb” bez konieczności zmiany identyfikatora URI SQLAlchemy.
źródło
Więc spędziłem około 5 godzin, próbując dowiedzieć się, jak poradzić sobie z tym problemem, próbując biegać
W przypadku Ubuntu Server LTS 16.1, pełnego stosu LAMP, Apache2 MySql 5.7 PHP 7 Python 3 i Django 1.10.2 naprawdę starałem się znaleźć dobrą odpowiedź na to pytanie. Właściwie nadal nie jestem usatysfakcjonowany, ale JEDYNYM rozwiązaniem, które działało dla mnie, jest to ...
a następnie (z wnętrza środowiska wirtualnego)
Naprawdę nie podoba mi się konieczność korzystania z instalacji deweloperskich, gdy próbuję skonfigurować nowy serwer WWW, ale niestety ta konfiguracja była jedyną najbardziej wygodną ścieżką, jaką mogłem wybrać.
źródło
Choć @Edward van Kuik „s odpowiedź jest poprawna, to nie uwzględnia się problem z virtualenv v1.7 i wyżej .
W szczególności instalacja
python-mysqldb
przezapt
na Ubuntu umieść to pod/usr/lib/pythonX.Y/dist-packages
, ale ta ścieżka nie jest domyślnie uwzględniona w virtualenvsys.path
.Aby rozwiązać ten problem , powinieneś utworzyć virtualenv z pakietami systemowymi, uruchamiając coś takiego:
virtualenv --system-site-packages .venv
źródło
Mam tak wiele błędów związanych z uprawnieniami, a co nie. Możesz spróbować tego:
źródło
pracował dla mnie.
źródło
W Ubuntu 20 możesz spróbować tego:
źródło