पाइप का उपयोग करके SciPy और NumPy स्थापित करना


157

मैं एक पैकेज में आवश्यक लाइब्रेरी बनाने की कोशिश कर रहा हूं जो मैं वितरित कर रहा हूं। इसके लिए SciPy और NumPy दोनों पुस्तकालयों की आवश्यकता है। विकास करते समय, मैंने दोनों का उपयोग करके स्थापित किया

apt-get install scipy

जिसने SciPy 0.9.0 और NumPy 1.5.1 स्थापित किया, और यह ठीक काम किया।

मैं pip installअपने स्वयं के पैकेज के setup.py में निर्भरता निर्दिष्ट करने में सक्षम होने के लिए एक ही का उपयोग करना चाहते हैं ।

समस्या यह है, जब मैं कोशिश करता हूं:

pip install 'numpy==1.5.1'

यह बढ़िया काम करता है।

परन्तु फिर

pip install 'scipy==0.9.0'

बुरी तरह से विफल रहता है, के साथ

raise self.notfounderror(self.notfounderror.__doc__)

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.

मैं इसे काम पर कैसे लगाऊं?


हम्म, क्या आपको यकीन है कि पाइप (डबल बराबरी) के numpy=1.5.1बजाय अच्छी तरह से काम करता है numpy==1.5.1?
ह्यूगो टावारेस

मैं डबल बराबर का उपयोग कर रहा हूं, वह एक टाइपो था। मैंने इसे कॉपी पेस्ट के बजाय यहां टाइप किया :)
eran

5
ब्लास और लैपैक के अलावा आपको स्थापित करने की आवश्यकता है blas-develऔर lapack-devel। यह डॉक्टर में निर्दिष्ट नहीं है, लेकिन यदि आप PIP का उपयोग कर इंस्टॉल करना चाहते हैं, तो यह किया जाना चाहिए।
Iñigo Hernáez Corres

@ IñigoHernáezCorres (blas-devel और lapack-devel) भी YUMable हैं, मैंने सीखा है, हम में से उन लोगों के लिए जो अमेज़ॅन-लिनेक्स पर हैं।
टॉमी

stackoverflow.com/questions/7496547/does-python-scipy-need-blas के अनुक्रम में 2 चरण हैं
mhn

जवाबों:


34

मैं अपने उत्तर में लिनक्स अनुभव मान रहा हूं; मैंने पाया कि pip install scipyअच्छी तरह से आगे बढ़ने के लिए तीन आवश्यक शर्तें हैं ।

यहां जाएं: इंस्टॉल करना SciPY

BLAS और फिर LAPACK के लिए env वैरिएबल को डाउनलोड, निर्माण और निर्यात करने के लिए निर्देशों का पालन करें । न केवल आँख बंद करके कट करने के लिए सावधान रहें। शेल कमांड को पेस्ट करें - आपकी वास्तुकला, आदि के आधार पर कुछ पंक्तियों का चयन करने की आवश्यकता होगी, और आपको सही निर्देशिकाओं को ठीक करने / जोड़ने की आवश्यकता होगी जो इसे गलत तरीके से मानती हैं कुंआ।

तीसरी चीज़ जो आपको चाहिए वो है yum को numpy-f2py या समकक्ष स्थापित करना

ओह, हाँ और अंत में, आपको ycc को gcc-gfortran को स्थापित करने की आवश्यकता हो सकती है क्योंकि उपरोक्त पुस्तकालय फोरट्रान स्रोत हैं।


आपके द्वारा स्थापित SciPy से जुड़े निर्देश हटा दिए गए हैं, अब यहाँ लिंक किया जा सकता है scipy.org/scipylib/building/windows.html
jxramos

30
-1; यह जवाब लिंक टूटने से बेकार हो गया है। उत्तर का मांस लिंक पर "निर्देशों का पालन करना" है, लेकिन पृष्ठ बदल गया है और वे अब वहां नहीं हैं। इसके अलावा, पूछने वाला apt-getअपने पैकेज मैनेजर के रूप में एक ओएस का उपयोग कर रहा था , लेकिन यह उत्तर उपयोग करता है yum। अतिरिक्त प्लेटफार्मों को कवर करने वाले उत्तर प्रदान करने में कुछ भी गलत नहीं है, लेकिन उन्हें इस तरह से हस्ताक्षरित किया जाना चाहिए; यह अनावश्यक रूप से यूनिक्स नॉब्स को भ्रमित करने वाला होगा अन्यथा नहीं।
मार्क अमेरी

5
BLAS और LAPACK को स्थापित करने के लिए आपको yum install lapack-devel.x86_64 blas-devel.x86_64
Max L

331

इसने मेरे लिए Ubuntu 14.04 पर काम किया:

sudo apt-get install libblas-dev liblapack-dev libatlas-base-dev gfortran
pip install scipy

4
स्थापित libblas-dev liblapack-devकिया जा blasरहा है, लेकिन तब मुझे मिला error: library dfftpack has Fortran sources but no Fortran compiler foundइसलिए मुझे इन सभी की आवश्यकता है कि वे स्काइप स्थापित करने में सक्षम हों। धन्यवाद।
नाको

6
मैं अभी स्थापित libblas-dev liblapack-dev gfortranकरता हूं , यह मेरे लिए Ubuntu14.04
जिन

libblas त्रुटि के कारण था - कोई लैपैक / ब्लास संसाधन नहीं मिला
ओलेग अब्राहेव

1
अस्वीकार्य उत्तरों के लिए आमीन जो स्वीकृत लोगों की तुलना में बेहतर काम करते हैं।
फेलिप अल्मीडा

yum के लिए: yum स्थापित blas-devel लैपैक-डेवेल एटलस-डेवेल gcc-gfortran
एलेक मैक्गैल

76

यदि आप उबंटू का उपयोग कर रहे हैं तो आपको लिबास और लिबापैक डे पैकेज की आवश्यकता है।

aptitude install libblas-dev liblapack-dev
pip install scipy

13

चूंकि यम के साथ स्थापित करने के पिछले निर्देश यहां दिए गए हैं, इसलिए फेडोरा जैसी किसी चीज को स्थापित करने के लिए अद्यतन निर्देश हैं। मैंने इसे "अमेज़न लिनक्स एएमआई 2016.03" पर परीक्षण किया है

sudo yum install atlas-devel lapack-devel blas-devel libgfortran
pip install scipy

6

मैं एक ऐसे प्रोजेक्ट पर काम कर रहा था जो सुन्न और चुस्त पर निर्भर था। फेडोरा 23 की एक साफ स्थापना में, अजगर 3.4 (पायथन 2.7 के लिए भी काम किया) के लिए एक पायथन वर्चुअल वातावरण का उपयोग कर रहा है, और मेरे setup.py ( setup()विधि में) के साथ

setup_requires=[
    'numpy',
],
install_requires=[
    'numpy',
    'scipy',
],

मैंने पाया कि मुझे pip install -e .काम पाने के लिए निम्नलिखित भागना पड़ा :

pip install --upgrade pip

तथा

sudo dnf install atlas-devel gcc-{c++,gfortran} subversion redhat-rpm-config

redhat-rpm-configकी scipy के उपयोग के लिए है redhat-hardened-cc1के रूप में नियमित रूप से करने का विरोध कियाcc1


3

पर खिड़कियों python 3.5 , मैं स्थापित करने में कामयाब रहे scipyका उपयोग करके conda नहीं pip :

conda install scipy

2

यह किस ऑपरेटिंग सिस्टम है? जवाब में शामिल OS पर निर्भर हो सकता है। हालाँकि, ऐसा लगता है कि आपको इस BLAS लाइब्रेरी को खोजने और इसे स्थापित करने की आवश्यकता है। यह PIP में नहीं लगता है (आपको इसे इस तरह से करना होगा), लेकिन यदि आप इसे स्थापित करते हैं, तो आपको अपने SciPy इंस्टॉल को प्रगति करने देना चाहिए।


यह ubuntu 11.10 है। मैंने कोशिश की, यही मेरी समस्या है। पुस्तकालय क्या है और मैं इसे कैसे प्राप्त करूं?
एर

25
उबंटू पर, आप कर सकते हैं जैसे कि sudo apt-get install liblapack-dev libatlas-devप्लस भी python-dev gfortranअगर आप उन्हें याद कर रहे हैं।
पी.वी.

2
मैंने वह पद नहीं बनाया! क्या बिल्ली है?
शामे

0

मेरे मामले में, अपग्रेड पाइप ने चाल चली। इसके अलावा, मैंने -U पैरामीटर के साथ स्काइप स्थापित किया है (सभी पैकेजों को अंतिम उपलब्ध संस्करण में अपग्रेड करें)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.