সাইকোপজি 2 ইনস্টল করার সময় ত্রুটি, -lssl এর জন্য লাইব্রেরি পাওয়া যায় নি


127

আমি দৌড়াই

sudo pip install psycopg2

এবং আমি একগুচ্ছ আউটপুট পাই যা দেখতে:

cc -DNDEBUG -g -fwrapv -Os .....
.....
cc -DNDEBUG -g -fwrapv -Os .....
.....

এবং শেষে এটি বলে:

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

----------------------------------------
Cleaning up...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/var/folders/bz/pvj1g9xj16d10pjjgbrfl3fw0000gn/T/pip_build_root/psycopg2/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /var/folders/bz/pvj1g9xj16d10pjjgbrfl3fw0000gn/T/pip-uE3thn-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/var/folders/bz/pvj1g9xj16d10pjjgbrfl3fw0000gn/T/pip_build_root/psycopg2
Storing debug log for failure in /Users/Tyler/Library/Logs/pip.log

ইজি_ইনস্টল চালানো বা উত্স থেকে এটি করা উভয়ই আমাকে শেষে একই ত্রুটি দেয় (লাইব্রেরির অংশটি -lssl এর জন্য পাওয়া যায় নি)।


চলমান ব্রিউ ইনস্টল (বা আপগ্রেড) ওপেনসেলটি নীচে ফলন করে

$ brew upgrade openssl
Error: openssl-1.0.1h already installed

যে কেউ আমাকে সাহায্য করতে পারেন?


উত্তর:


285

যে কেউ এর জন্য ম্যাকোস সিয়েরা 10.12 (বা পরে সম্ভবত, সম্ভবত) এর সমাধান খুঁজছেন: আমি কমান্ড লাইন সরঞ্জামগুলি ইনস্টল করে এটি ঠিক করেছি:

xcode-select --install

এর পরে, pip install psycopg2কাজ করা উচিত।

যদি এটি না হয় তবে আপনি ব্রিউয়ের ওপেনসেসেলের সাথে লিঙ্ক করার চেষ্টা করতে পারেন:

env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2

ব্রেউ মাধ্যমে ওপেনসেল ইনস্টল করা। মনে রাখবেন যে এটি brew link openssl --forceআর কাজ করে না:

$ brew link openssl --force                                                                                 17.5s
Warning: Refusing to link: openssl
Linking keg-only openssl means you may end up linking against the insecure,
deprecated system OpenSSL while using the headers from Homebrew's openssl.
Instead, pass the full include/library paths to your compiler e.g.:
  -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib

যেমন @ মাকো নীচের দিকে ইঙ্গিত করে এটি যদি এখনও কাজ না করে, আপনার --no-cacheপিপ বিকল্পটি ব্যবহার করার প্রয়োজন হতে পারে , যেমন

env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip --no-cache install psycopg2

5
আসলে, xcode-select --installযথেষ্ট হতে পারে, এটি প্রদত্ত সিস্টেমটি ব্যবহার করা উচিত ssl। আমি আমার মন্তব্য উপরে আপডেট করব।
sas

13
এক্সকোড-সিলেক্ট ইনস্টলটি সিস্টেম অজগরটির পক্ষে যথেষ্ট ভাল। তবে এটি ভার্চুয়াল পরিবেশের জন্য কাজ করে না।
অ্যান্ড্রু মার্টিন

3
সবেমাত্র ম্যাকওএস সিয়েরা পেয়েছি 10.12, সবেমাত্র করেছেন pip install psycopg2এবং ঠিক একই ত্রুটি বার্তাটি পেয়েছেন: 'ld: -lssl এর জন্য লাইব্রেরি পাওয়া যায় নি'। xcode-select --installসমস্যা সমাধান।
ওয়েবপ্রেমীরা

4
xcode-select --installভার্চুয়াল পরিবেশের জন্যও আমার জন্য
সিয়েরায়

5
আপনি পিপ --no- ক্যাশে বিকল্প ব্যবহার করতে পারে। উদাহরণস্বরূপenv LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip --no-cache install psycopg2
18

58

আমি ব্রিউ ( brew install openssl) থেকে ওপেনএসএসএল ইনস্টল করেছিলাম

নিম্নলিখিত আমার জন্য কাজ করেছে:

export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
pip install psycopg2

26

দৌড়ানোর সময় brew link opensslআমি নিম্নলিখিত বার্তাটি পাই:

$ brew link openssl
Warning: Refusing to link: openssl
Linking keg-only openssl means you may end up linking against the insecure,
deprecated system OpenSSL while using the headers from Homebrew's openssl.
Instead, pass the full include/library paths to your compiler e.g.:
  -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib

এই পরামর্শ অনুসরণ করে আপনার যে pipকমান্ডটি ব্যবহার করতে হবে তা এখানে রইল:

$ pip install -r requirements.txt --global-option=build_ext --global-option="-I/usr/local/opt/openssl/include" --global-option="-L/usr/local/opt/openssl/lib"

10

MacOS কাতালিনা 10.15.4 এর সাথে, নিম্নলিখিতটিই ছিল আমার পক্ষে একমাত্র কমান্ড:

env LDFLAGS="-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib" pip install psycopg2

মোজাভেও কাজ করেছেন। ধন্যবাদ!
এসবি 9

আপনি আমার সময় বাঁচিয়েছেন।
sinwoobang

9

আমার জন্য যা কাজ করেছে তা হ'ল ওপেনসএসএল লিঙ্ক করার কমান্ডটিতে ইঙ্গিত দেওয়া হয়েছিল,

$ brew link openssl
Warning: Refusing to link macOS-provided software: openssl
If you need to have openssl first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl/include"

$ export LDFLAGS="-L/usr/local/opt/openssl/lib"
$ export CPPFLAGS="-I/usr/local/opt/openssl/include"

$ pip install psycopg2
Collecting psycopg2
  Using cached https://files.pythonhosted.org/packages/23/7e/93c325482c328619870b6cd09370f6dbe1148283daca65115cd63642e60f/psycopg2-2.8.2.tar.gz
Installing collected packages: psycopg2
  Running setup.py install for psycopg2 ... done
Successfully installed psycopg2-2.8.2

বেশিরভাগ লোকেরা সম্ভবত zsh ব্যবহার করেন না তবে যাইহোক, আমি কেবল 'এক্সপোর্ট PATH = "/ ইউএসআর / লোকাল / অপ্ট / ওপেনসেল / বিন: AT পাথ" ">> ~ / .zshrc ছাড়া ইকো চালিয়েছি এবং এটি ছাড়া সমস্যা সমাধানের পক্ষে যথেষ্ট ছিল LDFLAGS এবং সিপিপিএফএলএজিএস পরিবেশগত পরিবর্তনগুলি
মার্ক একুইনো

9

মোজেভে আমি এগুলিকে .বাশ_ প্রোফাইলে যুক্ত করেছি

export PATH="/usr/local/opt/openssl/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/curl/lib -L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/curl/include -I/user/local/opt/openssl/include"

এরপরে পাইথন ৩.7.৪ ভার্চুয়ালেনভে সাইকপগ ২.৮.৩ ইনস্টল করতে সক্ষম হয়েছিল।

এটি এক্সকোড এবং কমান্ড লাইন সরঞ্জামগুলি পুনরায় ইনস্টল করার পরে।

উপরের সমস্ত উত্তর সাহায্য!


4

এটি নতুন ম্যাকো সংস্করণের সমস্যা, যেখানে পাইপ ইনস্টল করতে পারে না cryptography। ইনস্টল কমান্ডটি এনভিকে সরবরাহ করা আমার সমস্যাটি কী ঠিক করেছে:

brew install openssl
env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" <YOUR COMMAND HERE>

আপনি এটির <YOUR COMMAND HERE>সাথে pip install cryptographyবা pip install <SOMETHING THAT REQUIRES cryptography>উদাহরণস্বরূপ প্রতিস্থাপন করতে পারেন ।

এই নিবন্ধটির ক্রেডিট: ম্যাকোস সিয়েরা মারাত্মক ত্রুটি স্থির করে: 'ওপেনসেল / ওপেনস্লাভ' বা 'ওপেনসেল / এসএসএইচ' ফাইলটি পাওয়া যায় নি found


4

ফিশ ব্যবহার করে, নিম্নলিখিত দুটি কমান্ড হোমব্রিউয়ের সাথে ওপেনএসএসএল ইনস্টল করার পরে এই সমস্যাটি সমাধান করেছে।

set -gx LDFLAGS "-L/usr/local/opt/openssl/lib"
set -gx CPPFLAGS "-I/usr/local/opt/openssl/include"

brew info opensslআপ টু ডেট তথ্য পেতে ব্যবহার করুন ।


1

হাই সিয়েরায় সম্প্রতি এই সমস্যাটি হয়েছিল, একটি ভার্চুয়ালেনভে সদ্য পাইথন ৩.7 ইনস্টল করেছেন।

সমাধানটি হল সাইকোপজি 2-র পরবর্তী সংস্করণ ব্যবহার করা। সংস্করণ ২.7..7 কাজ করেছে, যেখানে ২.7.১ এটি করেনি।


0

একই লেখক থেকে ইনস্টল psycopg2, ইনস্টল করার পরিবর্তে psycopg2-binary:

pip install psycopg2-binary

এই পিপিআই প্যাকেজ সম্পর্কে ডকুমেন্টেশন এটাই বলে:

আপনি পিআইপিআই থেকে সাইকোপজি ২-বাইনারি প্যাকেজ ইনস্টল করে কোনও সংকলক বা বাহ্যিক গ্রন্থাগার প্রয়োজন না করে [...] একা একা প্যাকেজ পেতে পারেন:

$ pip install psycopg2-binary

বাইনারি প্যাকেজটি উন্নয়ন এবং পরীক্ষার জন্য ব্যবহারিক পছন্দ তবে উত্পাদনে এটি উত্স থেকে নির্মিত প্যাকেজটি ব্যবহার করার পরামর্শ দেওয়া হয়।


0

মোজাভে আমি এই সমস্যাটি নিয়ে আসছিলাম। মোজভে একটি / usr / অন্তর্ভুক্ত ডিরেক্টরি তৈরি করে না, যা সাইকোপজি 2 ইনস্টল করা প্রয়োজন। এটা সুস্পষ্ট ছিল না। আমি এখানে সমাধানটি পেয়েছি: কমান্ড লাইন থেকে কীভাবে এক্সকোড আপডেট করবেন , যা উল্লেখ করা হয়: https://forums.developer.apple.com/thread/104296


আরও কয়েকটি নোট: আমার কাছে এক্সকোড এবং কমান্ড লাইনের সরঞ্জামগুলি ইনস্টল করা আছে। এক্সকোড-সিলেক্ট - ইনস্টল কমান্ডটি দেখিয়েছিল যে আমি ইতিমধ্যে সেগুলি ইনস্টল করে রেখেছি, যেমন এক্সকোড-সিলেক্ট-পি এবং ইকো $? একটি 0 প্রদান করে, যা সেগুলি ইনস্টল করা হয়েছে তাও নির্দেশ করে। আমি পাইএনভ এবং পাইএনভ-ভ্যুচুয়ালেনভ ব্যবহার করছি, তাই আমি সাইকোপজি 2 ভার্চুয়াল পরিবেশে ইনস্টল করেছি।
প্রোফএক্স

0

আমার এই একই ত্রুটি ছিল এবং আমি সিথন ইনস্টল করার পরে এটি সমাধান করতে পেরেছিলাম


0

কনডা পরিবেশ থেকে পাইচার্ম চালানো, এটি ব্যবহার করে আমার সমস্যাটি সমাধান করুন:

--> conda install psycopg2
The following packages will be UPDATED: ...

...
Proceed ([y]/n)? 
--> y
--> pip3 install psycopg2
Installing collected packages: psycopg2
Running setup.py install for psycopg2 ... done
Successfully installed psycopg2-2.8.4

'''


0

আমি ম্যাকপোর্টস ব্যবহার করে ওপেনএসএসএল ইনস্টল করেছি তাই ডিরেক্টরিগুলি ব্র্যুর মতো নয়।

sudo port install openssl

আমি ডিরেক্টরিগুলি পেয়েছি:

port contents openssl | grep lib
port contents openssl | grep include

তারপরে আমি ভেরিয়েবলগুলি রফতানি করেছি:

export LDFLAGS="-L/opt/local/lib"
export CPPFLAGS="-I/opt/local/include/openssl"

আপনারও হতে পারে:

xcode-select --install


-4

আমি এটি ব্যবহার করে এটি ঠিক করতে পরিচালিত করেছি:

brew unlink openssl && brew link openssl --force

আমি নিশ্চিত নই যে ওপেনএসএসএল-এর আগে করা প্রয়াসগুলিতে আমি যে ব্রু আনইনস্টল / আপগ্রেড করেছি তার থেকে এটি কীভাবে আলাদা। আমার ধারণা এই যে এই অপারেশনগুলি কিছু "ত্রুটিযুক্ত" ভাগ করে নেওয়া গ্রন্থাগার রেখেছিল যা এটি কাজ করা থেকে বিরত ছিল। দ্রষ্টব্য যে পাইথন ক্রিপ্টোগ্রাফি মডিউল ইনস্টল করার ক্ষেত্রে এটিও সমস্যার সমাধান করেছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.