SciPy หน้าเว็บใช้เพื่อให้การสร้างและการติดตั้งคำแนะนำ แต่คำแนะนำที่มีตอนนี้พึ่งพา OS กระจายไบนารี ในการสร้าง SciPy (และ NumPy) บนระบบปฏิบัติการโดยไม่ต้องมีแพ็คเกจที่คอมไพล์แล้วของไลบรารีที่ต้องการคุณจะต้องสร้างและจากนั้นลิงก์แบบคงที่ไปยังไลบรารี Fortran BLASและLAPACK :
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 ที่ฉันใช้ การติดตั้ง LAPACK ต่อมาต้องการคอมไพเลอร์Fortran 90และเนื่องจากการติดตั้งทั้งสองควรใช้คอมไพเลอร์ Fortran เดียวกันดังนั้นจึงไม่ควรใช้ g77 สำหรับ BLAS
ถัดไปคุณจะต้องติดตั้ง LAPACK ทุกอย่าง คำแนะนำของหน้าเว็บ SciPy ช่วยฉันด้วยเช่นกัน แต่ฉันต้องแก้ไขให้เหมาะกับสภาพแวดล้อมของฉัน:
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 ก.ย. 2558: ยืนยันความคิดเห็นบางส่วนในวันนี้ (ขอบคุณทุกคน): ก่อนที่จะmake lapacklib
ทำการแก้ไขmake.inc
ไฟล์และเพิ่ม-fPIC
ตัวเลือกOPTS
และNOOPT
การตั้งค่า ถ้าคุณอยู่ในสถาปัตยกรรม 64 -m64
บิตหรือต้องการที่จะรวบรวมหนึ่งยังเพิ่ม เป็นสิ่งสำคัญที่ BLAS และ LAPACK จะถูกคอมไพล์ด้วยตัวเลือกเหล่านี้ที่ตั้งค่าเป็นค่าเดียวกัน หากคุณลืม-fPIC
SciPy จะทำให้เกิดข้อผิดพลาดเกี่ยวกับสัญลักษณ์ที่หายไปและจะแนะนำสวิตช์นี้ ส่วนเฉพาะของmake.inc
ลักษณะเช่นนี้ในการตั้งค่าของฉัน:
FORTRAN = gfortran
OPTS = -O2 -frecursive -fPIC -m64
DRVOPTS = $(OPTS)
NOOPT = -O0 -frecursive -fPIC -m64
LOADER = gfortran
บนเครื่องเก่า (เช่น RedHat 5), gfortran อาจจะมีการติดตั้งในรุ่นเก่า (เช่น 4.1.2) -frecursive
และไม่เข้าใจตัวเลือก เพียงลบออกจากmake.inc
ไฟล์ในกรณีเช่นนี้
เป้าหมายการทดสอบ lapack ของ Makefile ล้มเหลวในการตั้งค่าของฉันเพราะไม่พบห้องสมุด blas หากคุณถี่ถ้วนคุณสามารถย้ายไลบรารี blas ไปยังตำแหน่งที่ระบุชั่วคราวเพื่อทดสอบ lapack ฉันเป็นคนขี้เกียจดังนั้นฉันจึงเชื่อมั่นว่าบรรดานักพัฒนาซอฟต์แวร์จะใช้งานได้และตรวจสอบเฉพาะใน SciPy