ম্যাক ওএস এক্স - এনভায়রনমেন্ট এরিয়ার: mysql_config পাওয়া যায় নি


121

হ্যাঁ, আমি ইতিমধ্যে এটি দেখেছি:

পাইপ ইনস্টল মাইএসকিএল-পাইথন এনভায়রনমেন্ট এরিয়ারের সাথে ব্যর্থ হয়: মাইএসকিএল_কনফিগ পাওয়া যায় নি

সমস্যাটি

আমি গুগল অ্যাপ ইঞ্জিন প্রকল্পে জ্যাঙ্গো ব্যবহার করার চেষ্টা করছি। তবে সার্ভারটি সঠিকভাবে শুরু করতে ব্যর্থ হওয়ায় আমি শুরু করতে পারিনি:

ImproperlyConfigured("Error loading MySQLdb module: %s" % e)
ImproperlyConfigured: Error loading MySQLdb module: No module named MySQLdb

আমি কিছু গবেষণা করেছি এবং এগুলি সমস্তই মাইএসকিএল-পাইথন ইনস্টল করার বিষয়ে ইঙ্গিত করেছিল, সম্ভবত এটি আমার সিস্টেমে নেই। আমি আসলে এটি আনইনস্টল করার চেষ্টা করেছি এবং এটি পেয়েছি:

Cannot uninstall requirement mysql-python, not installed

আমি যখনই আসলে এর মাধ্যমে ইনস্টল করার চেষ্টা করি:

sudo pip install MySQL-python

আমি উল্লেখ করে একটি ত্রুটি পেয়েছি:

raise EnvironmentError("%s not found" % (mysql_config.path,))
EnvironmentError: mysql_config not found

আমি ইতিমধ্যে দৌড়ে চেষ্টা করেছি:

export PATH=$PATH:/usr/local/mysql/bin

তবে এটি সাহায্য করবে বলে মনে হচ্ছে না, কারণ আমি আবার ইনস্টলেশন কমান্ডটি চালিয়েছি এবং এটি এখনও ব্যর্থ হয়েছিল।

কোন ধারনা?

দয়া করে নোট করুন আমি কোনও ভার্চুয়ালেনভের মধ্যে নেই


আপনি সর্বদা ফাইলটিতে যেতে পারেন EnvironmentErrorএবং আরও দরকারী ডিবাগ তথ্য যেমন মুদ্রণ করতে পারেন os.getcwd()। আপনি একটি যুক্ত করতে এবং pdb.set_trace()জিনিসগুলি বের করতে পারেন ।
ealfonso

উত্তর:


340

ঠিক আছে, ভাল, সবার আগে, আমি আপনার মতো একই পৃষ্ঠায় আছি কিনা তা পরীক্ষা করে দেখুন:

  • আপনি পাইথন ইনস্টল করেছেন
  • তুমি করেছ brew install mysql
  • তুমি করেছ export PATH=$PATH:/usr/local/mysql/bin
  • এবং অবশেষে, আপনি করেছেন pip install MySQL-Python(বা pip3 install mysqlclientপাইথন 3 ব্যবহার করে)

আপনি যদি একই ক্রমে এই সমস্ত পদক্ষেপগুলি করেন এবং আপনি এখনও একটি ত্রুটি পেয়ে থাকেন তবে শেষ পর্যন্ত পড়ুন, তবে, আপনি যদি এই সঠিক পদক্ষেপগুলি অনুসরণ না করে শুরু থেকেই অনুসরণ করেন।

সুতরাং, আপনি পদক্ষেপগুলি অনুসরণ করেছিলেন এবং আপনি এখনও একটি ত্রুটি পেয়ে যাচ্ছেন, ভাল, কয়েকটি জিনিস আপনি চেষ্টা করতে পারেন:

  1. which mysql_configবাশ থেকে চালানোর চেষ্টা করুন । এটি সম্ভবত খুঁজে পাবেন না। সে কারণেই বিল্ডটি এটি খুঁজে পাচ্ছে না। দৌড়াতে চেষ্টা করুন locate mysql_configএবং দেখুন কিছু ফিরে এসেছে কিনা। এই বাইনারিটির পথটি আপনার শেলের $ PATH এনভায়রনমেন্ট ভেরিয়েবলের মধ্যে হওয়া দরকার বা মডিউলের জন্য সেটআপ.পি ফাইলের মধ্যে এটি ফাইলের জন্য কোনও নির্দিষ্ট জায়গায় সন্ধান করা উচিত তা স্পষ্টভাবে প্রকাশ করা দরকার।

  2. মাইএসকিউএল-পাইথন ব্যবহার না করে 'মাইএসকিএল-সংযোজক-পাইথন' ব্যবহার করে চেষ্টা করুন, এটি ব্যবহার করে ইনস্টল করা যেতে পারে pip install mysql-connector-python। এ সম্পর্কিত আরও তথ্য এখানে এবং এখানে পাওয়া যাবে

  3. 'মাইএসকিএল / বিন', 'মাইএসকিএল_কনফিগ', এবং 'মাইএসকিউএল-পাইথন' এর অবস্থানটি ম্যানুয়ালি সন্ধান করুন এবং এগুলি AT PATH পরিবেশ পরিবর্তনশীলে যুক্ত করুন।

  4. যদি সব উপরোক্ত ধাপগুলি ব্যর্থ হয়, তাহলে আপনি 'মাইএসকিউএল' MacPorts ব্যবহার, যে ক্ষেত্রে ফাইলটি mysql_config 'আসলে' mysql_config5 'বলা হবে ইনস্টল করার চেষ্টা করুন, এবং এই ক্ষেত্রে, আপনি ইনস্টল করার পর এই কাজ করতে হবে: export PATH=$PATH:/opt/local/lib/mysql5/bin। আপনি এখানে আরও বিশদ জানতে পারেন ।

নোট 1: আমি কিছু লোককে দেখেছি যে এটি ইনস্টল করেছে python-devএবং libmysqlclient-devসহায়তা করেছে, তবে আমি জানি না যে এই প্যাকেজগুলি ম্যাক ওএসে উপলব্ধ কিনা।

নোট 2: এছাড়াও, কমান্ডগুলি রুট হিসাবে চালানোর চেষ্টা করে দেখুন।

আমি (আমার মস্তিষ্কের পাশাপাশি) এই জায়গাগুলি থেকে আমার উত্তর পেয়েছি (এটি আপনি কীভাবে সহায়তা করবেন কিনা তা দেখতে আপনি তাদের এগুলি দেখতে পারেন): 1 , 2 , 3 , 4

আমি আশা করি আমি সাহায্য করেছি, এবং এইগুলির মধ্যে কোনও কাজ করেছে কিনা, তা জানতে পেরে খুশি হব। শুভকামনা।


2
দুর্দান্ত ব্যাখ্যা, লিনাক্সে এফডাব্লুআইডাব্লু, পাইথন-ডেভ এবং লিব্মিস্ক্লাইক্লিয়েন্ট-দেব ইনস্টল করা সাধারণত এটির কাজটি করার জন্য একমাত্র কাজ করা প্রয়োজন, তবে অ্যাসকে আমার স্নান আপডেট করার দরকার ছিল। আমি লিনাক্সের উপর বিশ্বাস করি যদি আপনি নির্দেশিত ডেভ লাইব্রেরি ইনস্টল না করেন তবে আপনি মাইএসকিএল-পাইথনের জন্য পাইথন ডিপগুলি না পেয়ে মাইএসকিএল ইনস্টল করতে পারবেন। (সেই ভুলটি বেশ কয়েকবার করা হয়েছে, LOL)
আয়ান ডানকান

1
ইয়োসেমাইটে আপগ্রেড করার পরে এটি এখন "stdio.h" নিখোঁজ হওয়ার বিষয়েও অভিযোগ করে। আপনি এখানে গিয়ে এটি স্থির করতে পারেন: stackoverflow.com/questions/19580758/…
মিহাই ওরেপা

4
চলমান brew install mysqlএটি স্থির। এছাড়াও, এই আদেশটি which mysql-configআমার পক্ষে কাজ করে নি, তবে which mysql_configকরেছে।
চাদ

1
আমাকে এই.bash_profile ফাইলটি আমার ফাইলে যুক্ত করতে হয়েছিল:export DYLD_LIBRARY_PATH=/usr/local/Cellar/mysql/5.7.9/lib/
জেফথম্পসন

2
আমাকে export PATH=$PATH:/usr/local/Cellar/mysql/5.7.20/bin
ব্রুগুলি স্থাপনের

6

আমি এই সমস্যাটি চিরতরে ডিবাগ করে যাচ্ছিলাম - 3 ঘন্টা 17 মিনিট। বিশেষত যা আমাকে বিরক্ত করেছিল তা হ'ল আমি ইতিমধ্যে পূর্বের ইউনি কাজের মাধ্যমে আমার সিস্টেমে এসকিএল ইনস্টল করেছিলাম তবে পাইপ / পিপ 3 এটি স্বীকৃতি দিচ্ছিল না। এই থ্রেডগুলি উপরে এবং আরও অনেকগুলি জন্য আমি ইন্টারনেটকে স্কল করেছিলাম সমস্যাটি আলোকিত করতে সহায়ক কিন্তু বাস্তবে বিষয়গুলি সমাধান করেনি।

উত্তর

পাইপ হোমব্রিউ ডিরেক্টরিতে মাইএসকিএল বাইনারি খুঁজছেন যা ম্যাকিনটোস এইচডি @ এর সাথে সম্পর্কিত @

/usr/local/Cellar/

সুতরাং আমি দেখতে পেয়েছি যে এর জন্য আপনাকে কয়েকটি পরিবর্তন করা দরকার

পদক্ষেপ 1: ইতিমধ্যে যদি না হয়ে থাকে তবে মাইএসকিউএল ডাউনলোড করুন https://dev.mysql.com/downloads/

পদক্ষেপ 2: এটিকে ম্যাকিনটোস এইচডি এবং সিডির সাথে সম্পর্কিত করুন

/usr/local/mysql/bin

পদক্ষেপ 3: একবার টার্মিনালটি খুলুন এবং পছন্দের একটি পাঠ্য সম্পাদক ব্যবহার করুন - আমি নিজেই একজন নিওভিম লোক তাই আমি টাইপ করেছি (ম্যাকের সাথে স্বয়ংক্রিয়ভাবে আসে না ... অন্য দিনের জন্য অন্য গল্প)

nvim mysql_config

পদক্ষেপ 4: আপনি প্রায় 112 লাইনে দেখতে পাবেন

# Create options 
libs="-L$pkglibdir"
libs="$libs -l "

পরিবর্তন

# Create options 
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"

* আপনি দেখতে পাবেন যে এই ফাইলটিতে কেবল পঠনযোগ্য অ্যাক্সেস রয়েছে যদি আপনি ভিএম বা নিউওম ব্যবহার করেন

:w !sudo tee %

পদক্ষেপ 5: হোম ডিরেক্টরিতে যান এবং .bash_profile ফাইলটি সম্পাদনা করুন

cd ~

তারপর

nvim .bash_profile

এবং যোগ করুন

export PATH="/usr/local/mysql/bin:$PATH"

ফাইলটি সংরক্ষণ করুন

পদক্ষেপ:: ম্যাকিনটোস এইচডি সম্পর্কিত পাথ চিহ্নিত করুন এবং এতে যুক্ত করুন

cd /private/etc/

তারপর

nvim paths

এবং যোগ করুন

/usr/local/mysql/bin

* আপনি আবার দেখতে পাবেন যে এই ফাইলটিতে কেবল পঠনযোগ্য অ্যাক্সেস রয়েছে যদি আপনার ভিএম বা নেওভিম ব্যবহার করা হয়

:w !sudo tee % 

তারপর

cd ~

তারপরে চালনা করে আপনার পরিবর্তনগুলি দিয়ে টার্মিনাল রিফ্রেশ করুন

source .bash_profile

পরিশেষে

pip3 install mysqlclient

এবং ভায়োলা। মনে রাখবেন এটি একটি বোকা।


আমার libsঅভ্যন্তরটি mysql_configইতিমধ্যে "পরিবর্তনতে" বিভাগে বর্ণিত ছিল। তবে, এটির private/etcজন্য বিশ্বব্যাপী ইনস্টল করার mysqlclientআগে ব্যর্থ হওয়াতে PATH যুক্ত করা ব্যর্থ হয়েছিল।
মার্টিন-মার্টিন

5

আপনি যদি পুরো মাইএসকিএল ইনস্টল করতে না চান, আমরা কেবল মাইএসকিএলক্লিয়েন্ট ইনস্টল করে এটি ঠিক করতে পারি brew install mysqlclient একবার সিএমডি শেষ হলে এটি নীচের লাইনের সাথে যুক্ত করতে বলবে ~/.bash_profile:

echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile

টার্মিনালটি বন্ধ করুন এবং নতুন টার্মিনাল শুরু করুন এবং এগিয়ে যান pip install mysqlclient


3

আমি ম্যাকস ক্যাটালিনায় পাইথন ৩.6 চালাচ্ছি। আমার সমস্যাটি হ'ল আমি ইনস্টল করার চেষ্টা করেছি mysqlclient==1.4.2.post1এবং এটি mysql_config নিক্ষেপ করে ত্রুটি পাওয়া যায় নি।

সমস্যা সমাধানের জন্য আমি এই পদক্ষেপ নিয়েছি।

  1. ব্রিউ ব্যবহার করে মাইএসকিএল-সংযোজক-সি ইনস্টল করুন (যদি আপনি ইতিমধ্যে মাইএসকিএল আগে আনলিংক ইনস্টল করেন brew unlink mysql) -brew install mysql-connector-c
  2. Mysql_config খুলুন এবং 112 লাইনের চারপাশে ফাইলটি সম্পাদনা করুন
# Create options 
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"
  1. brew info openssl - এটি আপনাকে PATH এ ওপেনসেল স্থাপন সম্পর্কে কী করা দরকার সে সম্পর্কে আরও তথ্য দেবে
  2. পদক্ষেপ 3 এর সাথে সম্পর্কিত, আপনাকে PATH এ ওপেনসেল রাখার জন্য এটি করতে হবে - echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
  3. সংকলকদের ওপেনসেল সন্ধানের জন্য - export LDFLAGS="-L/usr/local/opt/openssl/lib"
  4. সংকলকদের ওপেনসেল সন্ধানের জন্য - export CPPFLAGS="-I/usr/local/opt/openssl/include"

ধন্যবাদ! আমি অনেকগুলি চেষ্টা করেছিলাম এবং আপনার পদ্ধতিটি আমার পক্ষে কাজ করেছিল।
ইয়াগিমুটসু

2

এছাড়াও আমি যখন mysqlclient ইনস্টল করছিলাম তখন এটি ঘটেছিল,

$ pip install mysqlclient

ব্যবহারকারী 3429036 যেমন বলেছে,

$ brew install mysql

1

এই উত্তরটি ম্যাকওএস ব্যবহারকারীদের পক্ষে যারা ইন্সটল করেনি brewবরং কর্মকর্তার কাছ থেকে .dmg/.pkg। এই ইনস্টলারটি আপনার সম্পাদনা করতে ব্যর্থ হয়েছে PATH, যার ফলে বাক্সগুলি ছিন্ন হয়ে যায়:

  1. সকল মাইএসকিউএল কমান্ড পছন্দ mysql, mysqladmin, mysql_config, ইত্যাদি পাওয়া যাবে না, এবং এর ফলে:
  2. "মাইএসকিউএল অভিরুচি ফলক" সিস্টেম পছন্দসমূহ প্রদর্শিত করতে ব্যর্থ হয়, এবং
  3. আপনি মাইএসকিউএল সহ যোগাযোগ করে এমন কোনও এপিআই ইনস্টল করতে পারবেন না including mysqlclient

কি আপনাকে যা করতে হবে মাইএসকিউএল সংযোজন হয় binফোল্ডারের (সাধারণত /usr/local/mysql/binআপনার PATHআপনার এই লাইন যোগ করে ~/.bash_profileফাইল:

export PATH="/usr/local/mysql/bin/:$PATH"

তারপরে ~/.bash_profileপরিবর্তনটি আপনার বর্তমান টার্মিনাল সেশনে কার্যকর হওয়ার জন্য আপনাকে পুনরায় লোড করা উচিত :

source ~/.bash_profile

ইনস্টল করার আগে mysqlclientতবে আপনাকে এক্সকোডবিল্ড লাইসেন্সটি গ্রহণ করতে হবে:

sudo xcodebuild -license

আপনার পরিবারকে সাইন আপ করার জন্য তাদের নির্দেশাবলী অনুসরণ করুন, এর পরে আপনার mysqlclientইস্যু ছাড়াই ইনস্টল করতে সক্ষম হওয়া উচিত :

pip install mysqlclient

এটি ইনস্টল করার পরে আপনার মাইএসকিউএল ( ডায়নামিক লাইব্রেরি libmysqlclient.dylibপাওয়া যায় না ) দিয়ে চালানো একটি রানটাইম বাগ ঠিক করার জন্য আপনাকে আরও একটি কাজ করতে হবে , আপনার সিস্টেম গতিশীল লাইব্রেরি পথে এই লাইনটি যুক্ত করে:

export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH


sudo lsof -i :3306সক্রিয় মাইএসকিউএল প্রক্রিয়াটির পিআইডি দেখতে দৌড়তে এবং sudo -P <pid>তার পরে খোলা ফাইলগুলি দেখার জন্য চালিয়ে ডিস্কে বাইনারিগুলি খুঁজে পাওয়ার পরে আমি আপনার উত্তরটি দেখেছি । এটি /usr/local/mysql-8.0.18-macos10.14-x86_64/binআমার সাথে যুক্ত হয়েছিল $PATHএবং ভয়েলা !
নীল সি ওব্রেমস্কি

0

যদি আপনি কোনও সংস্করণ নির্দিষ্ট করে হোমব্রিউ ব্যবহার করে মাইএসকিএল ইনস্টল করে থাকেন তবে mysql_config এখানে উপস্থিত থাকবেন be - /usr/local/Cellar/mysql@5.6/5.6.47/bin

আপনি / usr / লোকাল / ডিরেক্টরিতে ls কমান্ড ব্যবহার করে স্কেল বিনের পথ খুঁজে পেতে পারেন

/usr/local/Cellar/mysql@5.6/5.6.47/bin

বাশ প্রোফাইলে এর মতো পথ যুক্ত করুন।

nano ~/.bash_profile

export PATH="/usr/local/Cellar/mysql@5.6/5.6.47/bin:$PATH"

0

আমার ক্ষেত্রে সমস্যাটি হ'ল আমি একটি অজগর ভার্চুয়াল পরিবেশের মধ্যে কমান্ডটি চালাচ্ছিলাম এবং এটি / usr / লোকাল / মাইএসকিএল / বিনের পথে ছিল না যদিও আমি এটিকে .bash_profile ফাইলটিতে রেখেছি। ভার্চুয়াল এনভিভিতে কেবল রফতানি করা আমার পক্ষে কাজ করেছিল।

আপনার তথ্যের জন্য sql_config বিন ডিরেক্টরিতে থাকে।


-1

ব্রু বা অ্যাপট-গেট ইনস্টল করাও আমার পক্ষে সহজ নয় তাই আমি মাইএসকিএল ডাউনলোড করেছি: https://dev.mysql.com/downloads/connector/python/ এর মাধ্যমে , এটি ইনস্টল করেছি। সুতরাং আমি এই ডিরেক্টরিটি mysql_config খুঁজে পেতে পারি: / usr / স্থানীয় / mysql / বিন

পরবর্তী পদক্ষেপটি হ'ল:

  1. PATH = AT পাঠ: / ইউএসআর / স্থানীয় / মাইএসকিএল / বিন রফতানি করুন
  2. পাইপ ইনস্টল মাইএসকিউএল-পাইথন == 1.2.5
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.