خطا هنگام نصب کتابخانه mysqlclient در پایتون

سلام دوستان من برای اتصال جنگو به mysql داشتم کتابخانه mysqlclient رو نصب میکردم که این خطا رو میده
توی لینوکس این خطا رو میده

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-1suwm_3i/mysqlclient/

و توی سیستم عامل مک این ارور رو میده
ld: library not found for -lssl
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command ‘cc’ failed with exit status 1 .

mysql نصب کردین ؟
سیستم عامل چیه

اگر mac دارین اول مطمئن شین brew نصب شده
در ترمینال

brew

اگه خطا داد brew نصب کنید

بعد mysql نصب کنید

brew install mysql

سرور mysql راه بیاندازید

mysql.server start
1 Likes

این دستور چه خروجی میده؟

sudo systemctl status mysql*

باید این دو خط (يا چیزی شبیهش) توی خروجی باشه:

Active: active (running) since Thu 2019-04-11 06:36:14 +0430; 1 day 10h ago
Status: "Taking your SQL requests now..."

اگه شبیه این بود یعنی خاموشه:

Active: inactive (dead) since Fri 2019-04-12 17:24:49 +0430; 9s ago
Status: "MariaDB server is down"

و باید با این دستور روشن بشه:

sudo systemctl start mysqld

و با این دستور enable بشه که وقتی سیستم ریبوت شد، به طور اتوماتیک روشن بشه:

sudo systemctl enable mysqld

حالا یه قضیه‌ای هست. ممکنه نصب باشه و فعال هم باشه ولی کانفیگ نشده باشه.
برای کانفیگش این دستور رو بزنید:

sudo mysql_secure_installation

ازتون میخواد پسورد root رو تعیین کنید. این ربطی به کاربر root توی لینوکس نداره. منظورش کاربر root داخل mysql هست. یه پسورد ساده مثلا 1234 بذارید. چون روی سیستم لوکال نصبه و توی تنظیمات بعدی تعیین میکنیم که اجازه‌ی لاگین از خارج از سیستم رو بهش نده، پس مشکلی نداره.
به سوالات بعدی هم جواب ‘y’ بدید. مگر اینکه بدونید دارید چیکار میکنید. (فقط enter بزنید)

حالا دیگه mysql نصب شده و کار میکنه. میتونید توی ترمینال بنویسید:

mysql -u root -p

این کامند نرم‌افزار کلاینت تحت ترمینال mysql رو باز میکنه با یوزر root
بعد از شما پسورد میخواد. پسوردی که قبلا ست کردید رو وارد کنید. لاگین میشه.
این دستور رو بزنید تا دیتابیسها رو نشون بده:

show databases;
1 Likes

نصب شده
سیستم عاملم مک هستش
خوب همه این ها درست ولی نباید mysqlclient نصب کرد برای کلاینت چون میخوام جنگو رو وصل کنم به mysql

توی نصب این خطا ها رو میده

وقتی MySQL نصب میکنی client هم نصب میکنه
این خطا به نظر میرسه از ارتباط اینترنت شما است

brew install mysql-connector-c
``` با موفقیت نصب میشه

من با XAMPP میتونم بهش وصل بشم ولی مشکل جنگو هستش که نمیشه
بخاطر این که نمیشه کتابخانه mysqlclient

Xamp نسخه MySQL خودشو میریزه و پایتان باهاش مشکل داره راه بهتر نصب مستقیم mysql که اشاره کردم در بالا

1 Likes

خوب چکار کنم نصب نمیشه :disappointed_relieved:

https://dev.mysql.com/doc/refman/5.6/en/osx-installation-pkg.html

من تونستم sql الان این خطا رو میده وقتی

mysql.server start

میزنم

..... ERROR! The server quit without updating PID file (/usr/local/var/mysql/abdis-MacBook-Air.local.pid).

خروجی این را میشه پست کنید

ps aux | grep mysql

err

درست شد واقعا از کمکتون ممنون

1 Likes

حالا که درست شد پیشنهاد می کنم از پستگرس بجای مای اسکوال استفاده کنید

2 Likes

باشه حتما اول اینو کامل یاد بگیرم

کلا تو orm ها مثلا ECTO درالکسیر و موارد دیگه در زبان های دیگه وقتی شما کلا از اونا اسفاده می کنید فرقی نمی کنه پستگرس بزنید یا mysql .به نظرم بین دیتابیس های رلیشنی مخصوصا بین mysql , پستگرس بهتره پستگرس رو برید و یادگیری mysql فایده ای ندارهبیشتر php کارا یادش می گیرند

2 Likes

سیستم orm توی پایتون میتونید از sqlalchemy استفاده کنید.
البته فکر کنم برای جنگو دیفالت همین باشه.

2 Likes

@samdvr سلام من کتابخانه numyرو دانلود کردم برای ویندوز ۳۲بیتی وقتی میرم داخل cmdداخل پوشه دانلود میرم بعد مینویسم pip install numpy همچین چیزی نوشته میشه ‘pip’ is not recognized as an internal or external command,operuble program or batch file