পাইথন সাইপাইয়ের কি বিএলএএস দরকার?


176
numpy.distutils.system_info.BlasNotFoundError: 
    Blas (http://www.netlib.org/blas/) libraries not found.
    Directories to search for the libraries can be specified in the
    numpy/distutils/site.cfg file (section [blas]) or by setting
    the BLAS environment variable.

এই সাইটটি বন্ধ করার জন্য আমার কোন টার দরকার?

আমি দুর্গগুলি চেষ্টা করেছি, তবে আমি এই ত্রুটিটি পেতে থাকি (স্পষ্টভাবে পরিবেশের পরিবর্তনশীল সেট করার পরে)।


সুতরাং প্রশ্নটি হ'ল কোন সিস্টেম থেকে আপনার সিস্টেমের ডাউনলোডের জন্য সঠিক সংস্করণটি কোনটি নয়, তবে সিস্টেমের বিবরণ বা সাইটটিকেই প্রশ্নটিতে দেওয়া হয়নি? কোনও উত্তর আসন্ন ছিল না তা অবাক করার মতো কিছু নয়।
মাইকেল জে বারবার

উত্তর:


143

SciPy ওয়েবপেজ তৈরি করুন এবং ইনস্টলেশন সংক্রান্ত নির্দেশাবলী প্রদান করার জন্য ব্যবহৃত, কিন্তু এখন নির্দেশাবলী ওএস বাইনারি ডিস্ট্রিবিউশন উপর নির্ভর করে। প্রয়োজনীয় লাইব্রেরির পূর্বনির্ধারিত প্যাকেজ ছাড়াই অপারেটিং সিস্টেমে সায়্পাই (এবং নুমপি) তৈরি করতে আপনার অবশ্যই ফোর্টরান লাইব্রেরি বিএলএএস এবং ল্যাপ্যাকের সাথে স্ট্যাটিকভাবে লিঙ্ক করতে হবে :

mkdir -p ~/src/
cd ~/src/
wget http://www.netlib.org/blas/blas.tgz
tar xzf blas.tgz
cd BLAS-*

## NOTE: The selected Fortran compiler must be consistent for BLAS, LAPACK, NumPy, and SciPy.
## For GNU compiler on 32-bit systems:
#g77 -O2 -fno-second-underscore -c *.f                     # with g77
#gfortran -O2 -std=legacy -fno-second-underscore -c *.f    # with gfortran
## OR for GNU compiler on 64-bit systems:
#g77 -O3 -m64 -fno-second-underscore -fPIC -c *.f                     # with g77
gfortran -O3 -std=legacy -m64 -fno-second-underscore -fPIC -c *.f    # with gfortran
## OR for Intel compiler:
#ifort -FI -w90 -w95 -cm -O3 -unroll -c *.f

# Continue below irrespective of compiler:
ar r libfblas.a *.o
ranlib libfblas.a
rm -rf *.o
export BLAS=~/src/BLAS-*/libfblas.a

পাঁচটি g77 / gfortran / ifort কমান্ডের মধ্যে একটি মাত্র প্রয়োগ করুন। আমি সমস্ত মন্তব্য করেছি, কিন্তু আমি ব্যবহার করি যে gfortran। পরবর্তী ল্যাপাক ইনস্টলেশনটির জন্য একটি ফোর্টরান 90 সংকলক প্রয়োজন, এবং যেহেতু উভয় ইনস্টল একই ফোরট্রান সংকলক ব্যবহার করা উচিত, তাই G77 BLAS এর জন্য ব্যবহার করা উচিত নয়।

এর পরে, আপনাকে ল্যাপাক স্টাফ ইনস্টল করতে হবে। সায়পাই ওয়েবপৃষ্ঠার নির্দেশাবলী আমাকে এখানেও সহায়তা করেছিল, তবে আমার পরিবেশের সাথে সামঞ্জস্য করার জন্য আমাকে সেগুলি সংশোধন করতে হয়েছিল:

mkdir -p ~/src
cd ~/src/
wget http://www.netlib.org/lapack/lapack.tgz
tar xzf lapack.tgz
cd lapack-*/
cp INSTALL/make.inc.gfortran make.inc          # On Linux with lapack-3.2.1 or newer
make lapacklib
make clean
export LAPACK=~/src/lapack-*/liblapack.a

3-সেপ্টেম্বর -2015 এ আপডেট করুন: আজ কিছু মন্তব্য যাচাই করা হয়েছে (সকলকে ধন্যবাদ): ফাইল make lapacklibসম্পাদনা চালানোর আগে এবং সেটিংসে বিকল্প make.incযোগ করার আগে । আপনি যদি bit৪ বিট আর্কিটেকচারে থাকেন বা কোনওটির জন্য সংকলন করতে চান তবে যুক্ত করুন । এটি গুরুত্বপূর্ণ যে বিএলএলএস এবং ল্যাপাক একই মানগুলিতে সেট এই বিকল্পগুলির সাথে সংকলিত হয়। আপনি যদি ভুলে যান তবে সাইকপাই প্রকৃতপক্ষে আপনাকে নিখোঁজ চিহ্নগুলির সম্পর্কে একটি ত্রুটি দেবে এবং এই স্যুইচটির সুপারিশ করবে। সুনির্দিষ্ট বিভাগটি দেখতে আমার সেটআপে:-fPICOPTSNOOPT-m64-fPICmake.inc

FORTRAN  = gfortran 
OPTS     = -O2 -frecursive -fPIC -m64
DRVOPTS  = $(OPTS)
NOOPT    = -O0 -frecursive -fPIC -m64
LOADER   = gfortran

পুরানো মেশিনে (যেমন রেডহ্যাট 5), গফর্ট্রান পুরানো সংস্করণে ইনস্টল করা হতে পারে (উদাঃ ৪.১.২) এবং বিকল্পটি বুঝতে পারে না -frecursivemake.incএ জাতীয় ক্ষেত্রে কেবল ফাইল থেকে এটি সরান ।

মেকফিলের ল্যাপ পরীক্ষার লক্ষ্যটি আমার সেটআপে ব্যর্থ হয়েছে কারণ এটি ব্লেস লাইব্রেরিগুলি খুঁজে পাচ্ছে না। আপনি যদি পুরোপুরি পুরোপুরি হয়ে থাকেন তবে সাময়িকভাবে ব্ল্যাপ লাইব্রেরিটি ল্যাপটি পরীক্ষা করতে নির্দিষ্ট জায়গায় সরিয়ে নিতে পারেন। আমি একটি অলস ব্যক্তি, সুতরাং আমি এটি কাজ করার জন্য ডেভসকে বিশ্বাস করি এবং কেবল সায়পাইতে যাচাই করি।


5
যদিও blas.tgz এ কোনও লিব্বব্লাস নেই।
joedborg

32
আমার জন্য কাজ করেছেন, তবে আমাকে make.incসেটিংস OPTS = -O2 -fPICএবং সেট করে ফাইলটি সম্পাদনা করতে হয়েছিল NOOPT = -O0 -fPIC
gui11aume

8
@jdborg এটিকে আপাতদৃষ্টিতে কেবল liblapack বলা হয়
উনা_দিনোসৌরিয়া

7
আমাকে Make.inc ফাইলটিতে অপটিস এবং NOOPT সেটিংসে -m64 বিকল্পগুলি যুক্ত করতে হয়েছিল। আপনারা কেবলমাত্র 64 বিটের মেশিনে রয়েছেন।
mjspier

21
+1 এর জন্য অনেক ধন্যবাদ! এছাড়াও, স্কিপি export LAPACK=~/src/lapack-3.5.0/করার জন্য libflapack.a, শেষের দিকে যোগ করার পরিবর্তে আমাকে করতে হয়েছিল ।
কিংবদন্তি

328

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

সংগ্রহশালা থেকে লিনিয়ার বীজগণিত গ্রন্থাগারগুলি ইনস্টল করুন (উবুন্টুর জন্য),

sudo apt-get install gfortran libopenblas-dev liblapack-dev

তারপরে SciPy ইনস্টল করুন (SciPy উত্স ডাউনলোড করার পরে): python setup.py installবা

pip install scipy

যেমন মামলা হতে পারে.


11
এটি আমার জন্য কাজ করেছে, তাই! যদিও আমাকে (উবুন্টু 10.04) এ পরিবর্তন libopenblas-devকরতে হয়েছিল libblas-dev
alfetopito

1
আমার জন্য পুদিনা 13 চালানোর জন্য পুরোপুরি কাজ করেছে (সুনির্দিষ্ট কাঁটাচামচ)। আপনি যদি সোজা_ইনস্টল-ইউ # আপডেট ব্যবহার করেন
wbg

2
এটি নির্বিঘ্নে কাজ করে। আমার ক্ষেত্রে আমার আলাদা কিছু করার দরকার নেই (উবুন্টু 12.0.4)
মিস্টারওয়ালরাস

1
sudo apt-get install python-devঠিক কর. stackoverflow.com/a/21530768/125507
এন্ডোলিথ

3
sudo yum install blas-devel lapack-develআমার জন্য কাজ করেছেন
রোমান

66

ফেডোরায় এটি কাজ করে:

 yum install lapack lapack-devel blas blas-devel
 pip install numpy
 pip install scipy

'ইনস্টল করতে মনে রাখুন lapack-devel ' এবং ' Blas-devel ' Blas 'এবং' lapack 'ছাড়াও' অন্যথায় আপনি ত্রুটি উল্লেখ করেছে বা "numpy.distutils.system_info। কিনবো LapackNotFoundError " ত্রুটি।


এটিতে "ব্লেস-ডেভের জন্য সর্বজনীন কী .." ইনস্টল করা নেই। :(
ওলগা মিউ

@ ওলগামু "yum --nogpgcheck blas-devel" ইনস্টল করুন
মুনিব আলী আলী

blas-static& lapack-staticFedora 20 আমাকে জন্য প্রয়োজন বোধ করা হয়
hobs

ধন্যবাদ! এটি আমার AWS ইসি 2 আমাজন লিনাক্স মেশিনে আমার জন্য কাজ করেছে।
লিল 'বিটস

এটি যদিও কোনও গুণমানের পরিবেশের জন্য কাজ করে না, এটি পাইপ ইনস্টলের জন্য সুডো ব্যবহার না করা ব্যর্থ হয়। কোন ধারনা?
ব্যবহারকারী 1610719

44

আমার ধারণা আপনি উবুন্টুতে ইনস্টলেশন সম্পর্কে কথা বলছেন। শুধু ব্যবহার করুন:

apt-get install python-numpy python-scipy

এটিও বিএলএএস লাইব্রেরি সংকলনের যত্ন নেওয়া উচিত। অন্যথায়, বিএলএএস লাইব্রেরিগুলি সংকলন করা খুব কঠিন।


12
@ ভি 3 এস0 এন, বিএলএএস এবং ল্যাপাক বিল্ডিং কুখ্যাতভাবে কঠিন। এই দুটি জঘন্য প্যাকেজ imho সংকলনের চেয়ে স্ক্র্যাচ থেকে কার্নেলগুলি সঙ্কলন এবং ইনস্টল করা অনেক সহজ।
নিকোলাস মানকুসো

@ কোডার, আমি আমার ডেবিয়ান বাক্সে এটি কীভাবে করব তা বুঝতে পেরেছি। উবুন্টুর পক্ষেও কাজ করা উচিত। এটি দেখুন: ydevel.tumblr.com/post/37462965735/… [দাবি অস্বীকার করুন : আমি পোস্টটির লেখক]
ইয়াতী সাগাদ

@ নিকোলাসম্যাঙ্কুসো এটি সত্যিই কঠিন তবে আমি পুরো অজগর (রিলোক্যাটেবল) + ল্যাপ + এ্যাটলাস (বিএলএএস এর চেয়ে ভাল) স্কিপি, স্কাইকিট, ম্যাপ্লটলিব, নেটওয়ার্কএক্স এবং অন্যান্য সি নির্ভরতা অনেকগুলি তৈরি করতে পরিচালনা করি। আমার পুরো রানটাইম ফোল্ডারে এখন 900 এমবি (পাইথন, পার্ল, জাভাও অন্তর্ভুক্ত) হাহা, ,. তবে এটি আমার প্রকল্পগুলি একটি ফোল্ডারে তার নিজস্ব রানটাইম দিয়ে সম্পূর্ণ স্থানান্তরিত করে। আপনার প্রয়োজন হলে আমাকে জানান। ভার্চুয়ালেনভের চেয়ে অনেক ভাল উপায়।
ফায়ো আরকার লুইন

@ আইটিসাগেড, @ কোডার, সত্যই, আপনাকে pip install scipyভার্চুয়াল পরিবেশে উত্স থেকে এটি ব্যবহার বা নির্মাণ করতে সক্ষম হতে হবে।
আর্থার

12

উইন্ডোজ ব্যবহারকারীদের জন্য ক্রিসের দ্বারা একটি দুর্দান্ত বাইনারি প্যাকেজ রয়েছে (সতর্কতা: এটি একটি দুর্দান্ত ডাউনলোড, 191 এমবি):


2

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

1) আপনার ল্যাপ্যাক ডিরেক্টরিটি আনজিপিংয়ের পরে, ল্যাপ্যাক-এক্সওয়াই (কিছু সংস্করণ নম্বর) বলা যেতে পারে, সুতরাং আপনি কেবল এটিকে ল্যাপাক নামকরণ করতে পারেন।

cd ~/src
mv lapack-[tab] LAPACK

2) সেই ডিরেক্টরিতে আপনার দরকার পড়তে পারে:

cd ~/src/LAPACK 
cp lapack_LINUX.a libflapack.a

-3

ব্যবহার করার চেষ্টা করুন

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