Sage เป็นซอฟต์แวร์ทางคณิตศาสตร์แบบโอเพ่นซอร์สที่เผยแพร่ภายใต้ GNU General Public License GPLv2+ และมีแพ็คเกจที่มีลิขสิทธิ์ซอฟต์แวร์ที่เข้ากันได้ ผู้คนทั่วโลกมีส่วนร่วมในการพัฒนา Sage เอกสารฉบับเต็มมีอยู่ทางออนไลน์
ผู้ที่ไม่อดทนอาจใช้ Sage ที่สร้างไว้ล่วงหน้าซึ่งมีให้ทางออนไลน์จากที่ใดก็ได้
โดยไม่ต้องติดตั้งในเครื่อง มิฉะนั้นอ่านต่อ
คู่มือการติดตั้ง Sage มีแผนผังการตัดสินใจที่จะแนะนำประเภทการติดตั้งที่เหมาะกับคุณที่สุด ซึ่งรวมถึงการสร้างจากแหล่งที่มา การรับ Sage จากผู้จัดการแพ็คเกจ การใช้อิมเมจคอนเทนเนอร์ หรือใช้ Sage ในระบบคลาวด์
README นี้มีคำแนะนำในตัวเองสำหรับการสร้าง Sage จากแหล่งที่มา สิ่งนี้ต้องการให้คุณโคลนพื้นที่เก็บข้อมูล git (ตามที่อธิบายไว้ใน README นี้) หรือดาวน์โหลดแหล่งข้อมูลในรูปแบบของ tarball
หากคุณมีคำถามหรือพบปัญหา โปรดอย่าลังเลที่จะส่งอีเมลถึงรายชื่อผู้รับจดหมายที่สนับสนุนของ Sage หรือสอบถามจากไซต์ถามคำถามและคำตอบของ Sage
Sage พยายามสนับสนุน Linux เวอร์ชันหลักทั้งหมด, macOS เวอร์ชันล่าสุด และ Windows (โดยใช้ระบบย่อย Windows สำหรับ Linux หรือการจำลองเสมือน)
ข้อมูลโดยละเอียดเกี่ยวกับแพลตฟอร์มที่รองรับสำหรับ Sage เวอร์ชันเฉพาะสามารถพบได้ในส่วน ความช่วยเหลือด้านความพร้อมใช้งานและการติดตั้ง ของทัวร์ชมการเปิดตัวสำหรับเวอร์ชันนี้
เราซาบซึ้งอย่างยิ่งที่มีส่วนร่วมกับ Sage ในการแก้ไขจุดบกพร่องในการพกพาและช่วยพอร์ต Sage ไปยังแพลตฟอร์มใหม่ แจ้งให้เราทราบที่รายชื่อผู้รับจดหมายของ Sage-devel
วิธีที่เหมาะสมในการรัน Sage บน Windows คือการใช้ Windows Subsystem for Linux (WSL) ปฏิบัติตามคู่มือการตั้งค่า WSL อย่างเป็นทางการเพื่อติดตั้ง Ubuntu (หรือ Linux อื่น) ตรวจสอบให้แน่ใจว่าคุณจัดสรร RAM เพียงพอสำหรับ WSL เป็นที่ทราบกันว่า 5GB ใช้งานได้ ในขณะที่ 2GB อาจไม่เพียงพอสำหรับการสร้าง Sage จากแหล่งที่มา จากนั้นจึงใช้คำแนะนำทั้งหมดสำหรับการติดตั้งใน Linux
คุณยังสามารถรัน Linux บน Windows โดยใช้ Docker (ดูด้านล่าง) หรือโซลูชันการจำลองเสมือนอื่นๆ ได้อีกด้วย
หาก Mac ของคุณใช้สถาปัตยกรรม Apple Silicon (M1, M2, M3, M4; arm64) และคุณตั้งค่า Mac ของคุณโดยการถ่ายโอนไฟล์จาก Mac รุ่นเก่า ตรวจสอบให้แน่ใจว่าไดเร็กทอรี /usr/local
ไม่มีสำเนา Homebrew เก่า (หรือซอฟต์แวร์อื่นๆ) สำหรับสถาปัตยกรรม x86_64 ที่คุณอาจคัดลอกมา โปรดทราบว่า Homebrew สำหรับ M1 ได้รับการติดตั้งใน /opt/homebrew
ไม่ใช่ /usr/local
หากคุณต้องการใช้ conda โปรดดูส่วน conda ในคู่มือการติดตั้ง Sage เพื่อเป็นแนวทาง
มิฉะนั้น เราขอแนะนำอย่างยิ่งให้ใช้ Homebrew ("ตัวจัดการแพ็คเกจที่ขาดหายไปสำหรับ macOS") จาก https://brew.sh/ ซึ่งมีคอมไพเลอร์ gfortran
และไลบรารีจำนวนมาก
มิฉะนั้น หากคุณไม่ต้องการติดตั้ง Homebrew คุณจะต้องติดตั้ง Xcode Command Line Tools เวอร์ชันล่าสุด เปิดหน้าต่างเทอร์มินัลแล้วรัน xcode-select --install
; จากนั้นคลิก "ติดตั้ง" ในหน้าต่างป๊อปอัป หากติดตั้ง Xcode Command Line Tools ไว้แล้ว คุณอาจต้องตรวจสอบว่าจำเป็นต้องอัปเดตหรือไม่โดยพิมพ์ softwareupdate -l
เช่นเดียวกับแพ็คเกจซอฟต์แวร์อื่นๆ Sage ถูกสร้างขึ้นจากแหล่งที่มาโดยใช้ ./configure
configure ตามด้วย make
อย่างไรก็ตาม เราขอแนะนำอย่างยิ่งให้อ่านคำแนะนำทีละขั้นตอนต่อไปนี้สำหรับการสร้าง Sage
คำแนะนำครอบคลุม Linux, macOS และ WSL ทั้งหมด
รายละเอียดเพิ่มเติมซึ่งให้ข้อมูลความเป็นมาสำหรับคำแนะนำเหล่านี้ สามารถพบได้ในส่วน ติดตั้งจากซอร์สโค้ด ในคู่มือการติดตั้ง
ตัดสินใจเลือกไดเร็กทอรีซอร์ส/บิลด์ ( SAGE_ROOT
):
บนคอมพิวเตอร์ส่วนบุคคล ไดเร็กทอรีย่อยของ :envvar: HOME
ไดเร็กทอรีของคุณควรทำ
ตัวอย่างเช่น คุณสามารถใช้ SAGE_ROOT=~/sage/sage
ซึ่งเราจะใช้เป็นตัวอย่างการทำงานด้านล่าง
คุณต้องมีพื้นที่ว่างในดิสก์อย่างน้อย 10 GB
เส้นทางแบบเต็มไปยังไดเรกทอรีต้นทางต้อง ไม่มีช่องว่าง
หลังจากเริ่มต้นบิลด์ คุณจะไม่สามารถย้ายไดเร็กทอรีซอร์ส/บิลด์โดยไม่ทำลายสิ่งต่าง ๆ
คุณอาจต้องการหลีกเลี่ยงระบบไฟล์ที่ช้า เช่น ระบบไฟล์เครือข่าย (NFS) และอื่นๆ ที่คล้ายกัน
[macOS] macOS อนุญาตให้เปลี่ยนไดเร็กทอรีโดยไม่ต้องใช้ตัวพิมพ์ใหญ่ที่แน่นอน โปรดระวังความสะดวกนี้เมื่อทำการคอมไพล์สำหรับ macOS การละเว้นการใช้อักษรตัวพิมพ์ใหญ่ที่แน่นอนเมื่อเปลี่ยนเป็น :envvar: SAGE_ROOT
อาจทำให้เกิดข้อผิดพลาดในการสร้างสำหรับการขึ้นต่อกันที่ต้องใช้อักษรตัวพิมพ์ใหญ่ในชื่อพาธ
โคลนแหล่งที่มาด้วย git
:
หากต้องการตรวจสอบว่า git
พร้อมใช้งาน ให้เปิดเทอร์มินัลแล้วป้อนคำสั่งต่อไปนี้ที่พร้อมท์เชลล์ ( $
):
$ git --version
git version 2.42.0
เวอร์ชันที่แน่นอนไม่สำคัญ แต่หากคำสั่งนี้ทำให้เกิดข้อผิดพลาด ให้ติดตั้ง git
โดยใช้ตัวจัดการแพ็คเกจของคุณ โดยใช้คำสั่งใดคำสั่งหนึ่งต่อไปนี้:
$ sudo pacman -S git # on Arch Linux
$ sudo apt-get update && apt-get install git # on Debian/Ubuntu
$ sudo yum install git # on Fedora/Redhat/CentOS
$ sudo zypper install git # on openSUSE
$ sudo xbps-install git # on Void Linux
สร้างไดเร็กทอรีที่ควรสร้าง SAGE_ROOT
:
$ mkdir -p ~/sage
$ cd ~/sage
โคลนพื้นที่เก็บข้อมูลคอมไพล์ Sage:
$ git clone -c core.symlinks=true --filter blob:none
--origin upstream --branch develop --tags
https://github.com/sagemath/sage.git
คำสั่งนี้ได้รับรีลีสการพัฒนาล่าสุด แทนที่ --branch develop
โดย --branch master
เพื่อเลือกรีลีสที่เสถียรล่าสุดแทน
สิ่งนี้จะสร้างไดเร็กทอรีย่อย ~/sage/sage
(ดูส่วนการตั้งค่าคอมไพล์และส่วนต่อไปนี้ในคู่มือนักพัฒนา Sage สำหรับข้อมูลเพิ่มเติม)
เปลี่ยนเป็นไดเร็กทอรีย่อยที่สร้างขึ้น:
$ cd sage
[Windows] แผนผังแหล่งที่มาของ Sage มีลิงก์สัญลักษณ์ และโครงสร้างจะไม่ทำงานหากใช้การสิ้นสุดบรรทัดของ Windows แทนที่จะใช้การสิ้นสุดบรรทัด UNIX
ดังนั้นจึงขอแนะนำ (แต่ไม่จำเป็น) ให้ใช้ git
เวอร์ชัน WSL
ติดตั้งแพ็คเกจระบบ
โปรดดูส่วนการติดตั้งจากแหล่งที่มาในคู่มือการติดตั้ง Sage สำหรับการคอมไพล์แพ็คเกจระบบที่คุณสามารถติดตั้งได้ เมื่อเสร็จแล้ว ให้ข้ามไปยังขั้นตอนที่ 7 (การบูตสแตรปปิ้ง)
หรือปฏิบัติตามแนวทางที่ละเอียดยิ่งขึ้นด้านล่าง
[Linux, WSL] ติดตั้งข้อกำหนดเบื้องต้นขั้นต่ำของการสร้างที่จำเป็น:
คอมไพเลอร์: gcc
, gfortran
, g++
(รองรับเวอร์ชัน GCC ตั้งแต่ 8.4.0 ถึง 13.x และเวอร์ชันล่าสุดของ Clang (LLVM)) ดู build/pkgs/gcc/SPKG.rst และ build/pkgs/gfortran/SPKG.rst สำหรับการสนทนาเกี่ยวกับคอมไพเลอร์ที่เหมาะสม
เครื่องมือสร้าง: GNU make
, GNU m4
, perl
(รวมถึง ExtUtils::MakeMaker
), ranlib
, git
, tar
, bc
ดู build/pkgs/_prereq/SPKG.rst สำหรับรายละเอียดเพิ่มเติม
Python 3.4 หรือใหม่กว่า หรือ Python 2.7 การติดตั้งแบบเต็มรวมถึง urllib
; แต่ในอุดมคติแล้วคือเวอร์ชัน 3.9.x, 3.10.x, 3.11.x, 3.12.x ซึ่งจะหลีกเลี่ยงการต้องสร้างสำเนา Python 3 ของ Sage เอง ดู build/pkgs/python3/SPKG.rst สำหรับรายละเอียดเพิ่มเติม
เราได้รวบรวมรายการแพ็คเกจระบบที่ให้ข้อกำหนดเบื้องต้นในการสร้างเหล่านี้ ดูในโฟลเดอร์ build/pkgs/_prereq/distros ไฟล์arch.txt, debian.txt (สำหรับ Ubuntu, Linux Mint เป็นต้น), fedora.txt (สำหรับ Red Hat, CentOS), opensuse.txt slackware.txt และ void.txt หรือไปที่ https://doc.sagemath.org/html/en/reference/spkg/_prereq.html#spkg-prereq
ทางเลือก: ขอแนะนำให้คุณติดตั้งทั้งเครื่องมือ LaTeX และ ImageMagick (เช่น คำสั่ง "แปลง") เนื่องจากฟังก์ชันการลงจุดบางอย่างจะได้รับประโยชน์จากเครื่องมือเหล่านี้
[การพัฒนา] หากคุณวางแผนที่จะพัฒนา Sage หรือทำงานร่วมกับสาขาตั๋วและไม่เพียงแต่ออกเท่านั้น ให้ติดตั้งข้อกำหนดเบื้องต้นในการบูตสแตรป ดูไฟล์ในโฟลเดอร์ build/pkgs/_bootstrap/distros หรือไปที่ https://doc.sagemath.org/html/en/reference/spkg/_bootstrap.html#spkg-bootstrap
บูตแผนผังต้นทางโดยใช้คำสั่งต่อไปนี้:
$ make configure
(หากไม่ได้ติดตั้งสิ่งที่จำเป็นต้องมีในการบูตสแตรป คำสั่งนี้จะดาวน์โหลดแพ็กเกจที่ให้เอาต์พุตบูตสแตรปที่สร้างไว้ล่วงหน้าแทน)
ฆ่าเชื้อสภาพแวดล้อมบิลด์ ใช้คำสั่ง
$ env
เพื่อตรวจสอบตัวแปรสภาพแวดล้อมปัจจุบัน โดยเฉพาะ PATH
, PKG_CONFIG_PATH
, LD_LIBRARY_PATH
, CFLAGS
, CPPFLAGS
, CXXFLAGS
และ LDFLAGS
(หากตั้งค่าไว้)
ลบรายการออกจากตัวแปรสภาพแวดล้อม (คั่นด้วยโคลอน) ที่ Sage ไม่ควรใช้สำหรับบิลด์ของตัวเอง โดยเฉพาะอย่างยิ่ง ให้ลบรายการออกหากรายการเหล่านั้นอ้างถึงการติดตั้ง Sage ก่อนหน้านี้
[WSL] โดยเฉพาะอย่างยิ่ง WSL นำเข้าหลายรายการจากตัวแปร Windows PATH
ไปยังสภาพแวดล้อม Linux ซึ่งอาจนำไปสู่ข้อผิดพลาดในการสร้างความสับสน โดยทั่วไปรายการเหล่านี้เริ่มต้นด้วย /mnt/c
วิธีที่ดีที่สุดคือลบทั้งหมดออกจากตัวแปรสภาพแวดล้อม ตัวอย่างเช่น คุณสามารถตั้งค่า PATH
โดยใช้คำสั่ง:
$ export PATH=/usr/sbin/:/sbin/:/bin/:/usr/lib/wsl/lib/
[macOS พร้อม homebrew] ตั้งค่าตัวแปรสภาพแวดล้อมที่จำเป็นสำหรับบิลด์:
$ source ./.homebrew-build-env
นี่เป็นการทำให้แพ็คเกจของ Homebrew บางส่วน (เรียกว่าแพ็คเกจเฉพาะถัง) พร้อมใช้งานสำหรับบิลด์ เรียกใช้หนึ่งครั้งเพื่อใช้คำแนะนำสำหรับเซสชันเทอร์มินัลปัจจุบัน คุณอาจต้องทำซ้ำคำสั่งนี้ก่อนที่จะสร้าง Sage ใหม่จากเซสชันเทอร์มินัลใหม่ หรือหลังจากติดตั้งแพ็คเกจ homebrew เพิ่มเติม (คุณสามารถเพิ่มลงในโปรไฟล์เชลล์ของคุณเพื่อให้ทำงานโดยอัตโนมัติในเซสชันต่อๆ ไปทั้งหมด)
ทางเลือก ตัดสินใจเลือกคำนำหน้าการติดตั้ง ( SAGE_LOCAL
):
ตามธรรมเนียมและตามค่าเริ่มต้น Sage จะถูกติดตั้งลงในลำดับชั้นไดเรกทอรีย่อยที่รูทที่ SAGE_ROOT/local/
สิ่งนี้สามารถเปลี่ยนแปลงได้โดยใช้ ./configure --prefix=SAGE_LOCAL
โดยที่ SAGE_LOCAL
คือคำนำหน้าการติดตั้งที่ต้องการ ซึ่งผู้ใช้จะต้องเขียนได้
หากคุณใช้ตัวเลือกนี้ร่วมกับ --disable-editable
คุณสามารถลบแผนผังซอร์ส Sage ทั้งหมดได้หลังจากเสร็จสิ้นกระบวนการสร้าง สิ่งที่ติดตั้งใน SAGE_LOCAL
จะเป็นการติดตั้ง Sage แบบครบวงจร
โปรดทราบว่าในกระบวนการสร้างของ Sage make
สร้าง และ ติดตั้ง ( make install
นั้นไม่ต้องดำเนินการ) ดังนั้นลำดับชั้นการติดตั้งจะต้องเขียนได้โดยผู้ใช้
ดูคู่มือการติดตั้ง Sage สำหรับตัวเลือกต่างๆ หากคุณต้องการติดตั้งในตำแหน่งที่ใช้ร่วมกัน เช่น /usr/local/
อย่าพยายามสร้าง Sage เป็น root
ทางเลือก ให้ตรวจทานอ็อพชันคอนฟิกูเรชัน ซึ่งรวมถึงแพ็คเกจทางเลือกมากมาย:
$ ./configure --help
ตัวเลือกที่โดดเด่นสำหรับนักพัฒนา Sage มีดังนี้:
ใช้ตัวเลือก --config-cache
เพื่อ configure
เก็บดิสก์แคชของค่าการกำหนดค่า ซึ่งจะช่วยเร่งความเร็วได้ดีเมื่อลองใช้สาขาตั๋วที่ทำการอัพเกรดแพ็คเกจ ซึ่งเกี่ยวข้องกับการเรียกใช้ขั้นตอนการกำหนดค่าอีกครั้งโดยอัตโนมัติ
ใช้ตัวเลือก --enable-ccache
เพื่อให้ Sage ติดตั้งและใช้แพ็คเกจเสริม ccache
ซึ่งได้รับการกำหนดค่าไว้ล่วงหน้าเพื่อเก็บดิสก์แคชของไฟล์อ็อบเจ็กต์ที่สร้างจากไฟล์ต้นฉบับ สิ่งนี้สามารถเร่งความเร็วได้มากเมื่อสลับระหว่างสาขาต่างๆ โดยเปลืองพื้นที่ดิสก์
ไม่บังคับ แต่แนะนำเป็นอย่างยิ่ง: ตั้งค่าตัวแปรสภาพแวดล้อมบางอย่างเพื่อปรับแต่งบิลด์
ตัวอย่างเช่น ตัวแปรสภาพแวดล้อม MAKE
จะควบคุมว่าจะรันงานหลายงานพร้อมกันหรือไม่ บนเครื่องที่มีโปรเซสเซอร์ 4 ตัว เช่น การพิมพ์ export MAKE="make -j4"
จะกำหนดค่าสคริปต์บิลด์ให้ทำการคอมไพล์ Sage แบบขนานโดยใช้ 4 งาน ในเครื่องที่ทรงพลังบางเครื่อง คุณอาจพิจารณาถึง -j16
ด้วย เนื่องจากการสร้างงานมากกว่าคอร์ CPU สามารถเพิ่มความเร็วให้เร็วขึ้นได้
เมื่อต้องการลดเอาต์พุตเทอร์มินัลระหว่างการ build ให้พิมพ์ export V=0
( V
ย่อมาจาก "คำฟุ่มเฟือย")
ตัวแปรสภาพแวดล้อมบางตัวสมควรได้รับการกล่าวถึงเป็นพิเศษ: CC
, CXX
และ FC
ตัวแปรเหล่านี้ที่กำหนดคอมไพเลอร์ของคุณสามารถตั้งค่าได้ในเวลากำหนดค่า และค่าของตัวแปรเหล่านี้จะถูกบันทึกไว้เพื่อใช้ต่อไปในเวลาสร้างและรันไทม์
สำหรับการสนทนาเชิงลึกเกี่ยวกับตัวแปรสภาพแวดล้อมเพิ่มเติมสำหรับการสร้าง Sage โปรดดูคู่มือการติดตั้ง
พิมพ์ ./configure
configure ตามด้วยตัวเลือกที่คุณต้องการใช้ ตัวอย่างเช่น หากต้องการสร้าง Sage ด้วยแพ็คเกจ gf2x
ที่ Sage จัดหามาให้ ให้ใช้ ./configure --with-system-gf2x=no
เมื่อสิ้นสุดการดำเนินการ ./configure
ที่ประสบความสำเร็จ คุณอาจเห็นข้อความแนะนำให้ติดตั้งแพ็คเกจระบบเพิ่มเติมโดยใช้ตัวจัดการแพ็คเกจของคุณ
สำหรับรายการแพ็คเกจ Sage จำนวนมาก Sage สามารถตรวจจับได้ว่าแพ็คเกจระบบที่ติดตั้งนั้นเหมาะสมกับการใช้งานกับ Sage หรือไม่ ในกรณีนั้น Sage จะไม่สร้างสำเนาอีกจากแหล่งที่มา
บางครั้งข้อความจะแนะนำให้ติดตั้งแพ็คเกจที่ติดตั้งไว้ในระบบของคุณแล้ว ดูข้อความกำหนดค่าก่อนหน้านี้หรือไฟล์ config.log
สำหรับคำอธิบาย นอกจากนี้ ข้อความอาจแนะนำให้ติดตั้งแพ็คเกจที่ไม่มีให้บริการจริง เฉพาะการเผยแพร่ล่าสุดของคุณเท่านั้นที่จะมีแพ็คเกจที่แนะนำเหล่านี้ทั้งหมด
ทางเลือก: หากคุณเลือกที่จะติดตั้งแพ็คเกจระบบเพิ่มเติม การเรียกใช้ ./configure
configure อีกครั้งจะทดสอบว่าเวอร์ชันที่ติดตั้งนั้นใช้ได้กับ Sage หรือไม่ หากเป็นเช่นนั้น วิธีนี้จะช่วยลดเวลาในการคอมไพล์และพื้นที่ดิสก์ที่ Sage ต้องการ การใช้แพ็คเกจสามารถปรับได้โดย ./configure
พารามิเตอร์ (ตรวจสอบผลลัพธ์ของ ./configure --help
อีกครั้ง)
พิมพ์ make
. แค่นั้นแหละ! ทุกอย่างเป็นไปโดยอัตโนมัติและไม่มีการโต้ตอบ
หากคุณปฏิบัติตามคำแนะนำข้างต้น โดยเฉพาะอย่างยิ่งเกี่ยวกับการติดตั้งแพ็คเกจระบบที่แนะนำโดยเอาต์พุต ./configure
(ขั้นตอนที่ 11) และสำหรับการสร้างแบบขนาน (ขั้นตอนที่ 10) การสร้าง Sage จะใช้เวลาน้อยกว่าหนึ่งชั่วโมงบนคอมพิวเตอร์สมัยใหม่ (มิฉะนั้นอาจใช้เวลานานกว่านี้มาก)
โครงสร้างควรทำงานได้ดีบนแพลตฟอร์มที่รองรับทั้งหมด ถ้าไม่เช่นนั้นเราอยากรู้!
พิมพ์ ./sage
เพื่อทดลองใช้ ใน Sage ลองตัวอย่าง 2 + 2
, plot(x^2)
, plot3d(lambda x, y: x*y, (-1, 1), (-1, 1))
เพื่อทดสอบการคำนวณอย่างง่าย ๆ และการวางแผนใน 2 มิติ และ 3 มิติ พิมพ์ Ctrl + D หรือ quit
เพื่อออกจาก Sage
ทางเลือก: พิมพ์ make ptestlong
เพื่อทดสอบตัวอย่างทั้งหมดในเอกสารประกอบ (อินพุตมากกว่า 200,000 บรรทัด!) - ใช้เวลาตั้งแต่ 10 นาทีถึงหลายชั่วโมง อย่ากังวลเกินไปหากมีความล้มเหลว 2 ถึง 3 ครั้ง แต่อย่าลังเลที่จะส่งอีเมลถึงส่วนของ logs/ptestlong.log
ที่มีข้อผิดพลาดไปยังรายชื่อผู้รับจดหมายของ sage-support หากมีความล้มเหลวหลายครั้ง แสดงว่างานสร้างของคุณมีปัญหาร้ายแรง
เอกสารเวอร์ชัน HTML ถูกสร้างขึ้นในระหว่างกระบวนการคอมไพล์ของ Sage และอยู่ในไดเร็กทอรี local/share/doc/sage/html/
คุณอาจต้องการบุ๊กมาร์กไว้ในเบราว์เซอร์ของคุณ
ทางเลือก: หากคุณต้องการสร้างเอกสารเวอร์ชัน PDF ให้รัน make doc-pdf
(ซึ่งจำเป็นต้องติดตั้ง LaTeX)
ทางเลือก: ติดตั้งแพ็คเกจเสริมที่คุณสนใจ: รับรายการโดยพิมพ์ ./sage --optional
ทางเลือก หรือโดยไปที่หน้าเอกสารประกอบแพ็คเกจ
ทางเลือก: สร้าง symlink ไปยังสคริปต์ sage
ที่ติดตั้งในไดเร็กทอรีใน PATH
ของคุณ เช่น /usr/local
ซึ่งจะช่วยให้คุณสามารถเริ่มต้น Sage ได้โดยพิมพ์ sage
จากที่ใดก็ได้ แทนที่จะต้องพิมพ์เส้นทางแบบเต็มหรือไปที่ไดเร็กทอรี Sage แล้วพิมพ์ ./sage
sage ซึ่งสามารถทำได้โดยการรัน:
$ sudo ln -s $(./sage -sh -c 'ls $SAGE_ROOT/venv/bin/sage') /usr/local/bin
ทางเลือก: ตั้งค่า SageMath เป็นเคอร์เนล Jupyter ในสมุดบันทึก Jupyter ที่มีอยู่หรือการติดตั้ง JupyterLab ตามที่อธิบายไว้ในส่วน การเปิดใช้ SageMath ในคู่มือการติดตั้ง Sage
สำหรับการติดตั้ง Sage ในสภาพแวดล้อม Python จาก PyPI นั้น Sage จะจัดเตรียม pip
-installable package sagemath-standard
เว้นแต่คุณจะต้องติดตั้ง Sage ลงในสภาพแวดล้อมที่มีอยู่ เราขอแนะนำให้สร้างและเปิดใช้งานสภาพแวดล้อมเสมือนใหม่ เช่น ~/sage-venv/
:
$ python3 -m venv ~/sage-venv
$ source ~/sage-venv/bin/activate
ในขั้นตอนการติดตั้งแรก ให้ติดตั้ง sage_conf ซึ่งสร้างแพ็กเกจที่จำเป็นต้องมีต่างๆ ในไดเร็กทอรีย่อย ~/.sage/
:
(sage-venv) $ python3 -m pip install -v sage_conf
หลังจากการติดตั้งสำเร็จ wheelhouse จะจัดเตรียมแพ็คเกจ Python ต่างๆ คุณสามารถแสดงรายการล้อโดยใช้คำสั่ง:
(sage-venv) $ ls $(sage-config SAGE_SPKG_WHEELS)
หากสิ่งนี้ทำให้เกิดข้อผิดพลาดโดยแจ้งว่าไม่พบ sage-config
ให้ตรวจสอบข้อความที่อาจพิมพ์คำสั่ง pip install
ไว้ คุณอาจต้องปรับ PATH
ของคุณ เช่น โดย:
$ export PATH="$(python3 -c 'import sysconfig; print(sysconfig.get_path("scripts", "posix_user"))'):$PATH"
ตอนนี้ติดตั้งแพ็คเกจจาก wheelhouse และแพ็คเกจ sage_setup และสุดท้ายติดตั้งไลบรารี Sage:
(sage-venv) $ python3 -m pip install $(sage-config SAGE_SPKG_WHEELS)/*.whl sage_setup
(sage-venv) $ python3 -m pip install --no-build-isolation -v sagemath-standard
คำแนะนำข้างต้นจะติดตั้ง Sage เวอร์ชันเสถียรล่าสุด หากต้องการติดตั้งเวอร์ชันการพัฒนาล่าสุดแทน ให้เพิ่มสวิตช์ --pre
ให้กับการเรียกใช้ python3 -m pip install
ทั้งหมด
หมายเหตุ: PyPI มี pip
แพ็คเกจอื่น ๆ ที่สามารถติดตั้งได้ซึ่งมีคำว่า "sage" อยู่ในชื่อ บางส่วนได้รับการดูแลโดยโครงการ SageMath บางส่วนจัดทำโดยผู้ใช้ SageMath เพื่อวัตถุประสงค์ต่างๆ และบางส่วนไม่เกี่ยวข้องกับ SageMath เลย อย่าใช้แพ็คเกจ sage
และ sagemath
สำหรับรายการแพ็คเกจที่คัดสรรแล้ว โปรดดูบทแพ็คเกจและคุณสมบัติของคู่มืออ้างอิง Sage
SageMath พร้อมใช้งานบน Docker Hub และสามารถดาวน์โหลดได้โดย:
docker pull sagemath/sagemath
ปัจจุบันมีเพียงเวอร์ชันเสถียรเท่านั้นที่ได้รับการอัปเดต
หากคุณประสบปัญหาในการสร้าง Sage โปรดดูคู่มือการติดตั้ง Sage รวมถึงความช่วยเหลือในการติดตั้งเฉพาะเวอร์ชันในทัวร์ชมการเปิดตัวที่เกี่ยวข้องกับเวอร์ชันที่คุณกำลังติดตั้ง
โปรดอย่าลังเลที่จะขอความช่วยเหลือในฟอรัม SageMath หรือรายชื่ออีเมลที่สนับสนุน Sage ส่วนการแก้ไขปัญหาในคู่มือการติดตั้ง Sage จะให้คำแนะนำว่าควรให้ข้อมูลอะไรบ้าง เพื่อให้เราสามารถให้ความช่วยเหลือได้อย่างมีประสิทธิภาพมากขึ้น
หากคุณต้องการสนับสนุน Sage เราขอแนะนำอย่างยิ่งให้คุณอ่านคู่มือนักพัฒนา
Sage มีส่วนประกอบสำคัญที่เขียนในภาษาต่อไปนี้: C/C++, Python, Cython, Common Lisp, Fortran และ Perl เล็กน้อย
รูปแบบไดเร็กทอรีแบบง่าย (เฉพาะไฟล์/ไดเร็กทอรีที่จำเป็นเท่านั้น):
SAGE_ROOT Root directory (create by git clone)
├── build
│ └── pkgs Every package is a subdirectory here
│ ├── 4ti2/
│ …
│ └── zlib/
├── configure Top-level configure script
├── COPYING.txt Copyright information
├── pkgs Source trees of Python distribution packages
│ ├── sage-conf
│ │ ├── sage_conf.py
│ │ └── setup.py
│ ├── sage-docbuild
│ │ ├── sage_docbuild/
│ │ └── setup.py
│ ├── sage-setup
│ │ ├── sage_setup/
│ │ └── setup.py
│ ├── sage-sws2rst
│ │ ├── sage_sws2rst/
│ │ └── setup.py
│ └── sagemath-standard
│ ├── bin/
│ ├── sage -> ../../src/sage
│ └── setup.py
├── local (SAGE_LOCAL) Installation hierarchy for non-Python packages
│ ├── bin Executables
│ ├── include C/C++ headers
│ ├── lib Shared libraries, architecture-dependent data
│ ├── share Databases, architecture-independent data, docs
│ │ └── doc Viewable docs of Sage and of some components
│ └── var
│ ├── lib/sage
│ │ ├── installed/
│ │ │ Records of installed non-Python packages
│ │ ├── scripts/ Scripts for uninstalling installed packages
│ │ └── venv-python3.9 (SAGE_VENV)
│ │ │ Installation hierarchy (virtual environment)
│ │ │ for Python packages
│ │ ├── bin/ Executables and installed scripts
│ │ ├── lib/python3.9/site-packages/
│ │ │ Python modules/packages are installed here
│ │ └── var/lib/sage/
│ │ └── wheels/
│ │ Python wheels for all installed Python packages
│ │
│ └── tmp/sage/ Temporary files when building Sage
├── logs
│ ├── install.log Full install log
│ └── pkgs Build logs of individual packages
│ ├── alabaster-0.7.12.log
│ …
│ └── zlib-1.2.11.log
├── m4 M4 macros for generating the configure script
│ └── *.m4
├── Makefile Running "make" uses this file
├── prefix -> SAGE_LOCAL Convenience symlink to the installation tree
├── README.md This file
├── sage Script to start Sage
├── src Monolithic Sage library source tree
│ ├── bin/ Scripts that Sage uses internally
│ ├── doc/ Sage documentation sources
│ └── sage/ The Sage library source code
├── upstream Source tarballs of packages
│ ├── Babel-2.9.1.tar.gz
│ …
│ └── zlib-1.2.11.tar.gz
├── venv -> SAGE_VENV Convenience symlink to the virtual environment
└── VERSION.txt
สำหรับรายละเอียดเพิ่มเติม โปรดดูคู่มือนักพัฒนาของเรา
นี่เป็นบทสรุปโดยย่อเกี่ยวกับระบบการสร้างการแจกจ่ายซอฟต์แวร์ Sage ระบบ Sage เต็มรูปแบบมีสององค์ประกอบ ได้แก่ ไลบรารี Sage Python และอินเทอร์เฟซผู้ใช้ที่เกี่ยวข้อง และการกระจายซอฟต์แวร์ที่ใหญ่ขึ้นของการขึ้นต่อกันหลักของ Sage (สำหรับการขึ้นต่อกันที่ไม่ได้มาจากระบบของผู้ใช้)
ไลบรารี Python ของ Sage สร้างและติดตั้งโดยใช้สคริปต์ setup.py
ซึ่งเป็นมาตรฐานสำหรับแพ็คเกจ Python ( setup.py
ของ Sage นั้นไม่ใช่เรื่องเล็กน้อย แต่ก็ไม่ได้ผิดปกติ)
ระบบการสร้างที่เหลือส่วนใหญ่เกี่ยวข้องกับการสร้างการพึ่งพาของ Sage ทั้งหมดตามลำดับที่ถูกต้องซึ่งสัมพันธ์กัน การขึ้นต่อกันที่ Sage รวมไว้จะเรียกว่า SPKG (เช่น "แพ็คเกจ Sage") และแสดงอยู่ภายใต้ build/pkgs
จุดแรกเข้าสู่ระบบบิลด์ของ Sage คือ Makefile
ระดับบนสุดที่รากของแผนผังต้นทาง ไม่เหมือนกับโปรเจ็กต์ทั่วไปส่วนใหญ่ที่ใช้ autoconf (Sage ก็ใช้เช่นกัน ดังที่อธิบายไว้ด้านล่าง) Makefile
นี้จะไม่ถูกสร้างขึ้น แต่จะมีเป้าหมายระดับสูงและเป้าหมายที่เกี่ยวข้องกับการบูตระบบแทน อย่างไรก็ตาม เรายังคงเรียกใช้ make
จากรากของแผนผังต้นทาง เป้าหมายที่ไม่ได้กำหนดไว้อย่างชัดเจนใน Makefile
ระดับบนสุดจะถูกส่งผ่านไปยัง Makefile อื่นภายใต้ build/make/Makefile
build/make/Makefile
ส่วนหลัง ถูก สร้างขึ้นโดยสคริปต์ configure
ที่สร้างโดย autoconf โดยใช้เทมเพลตใน build/make/Makefile.in
ซึ่งรวมถึงกฎสำหรับการสร้างไลบรารีของ Sage ( make sagelib
) และสำหรับการสร้างและติดตั้งการขึ้นต่อกันของ Sage แต่ละรายการ (เช่น make gf2x
)
สคริปต์ configure
เอง หากยังไม่ได้สร้าง สามารถสร้างได้โดยการเรียกใช้สคริปต์ bootstrap
(สคริปต์หลังต้องติดตั้ง เครื่องมืออัตโนมัติ GNU ) Makefile
ระดับบนสุดจะดูแลสิ่งนี้โดยอัตโนมัติ
โดยสรุป การรันคำสั่งเช่น make python3
ที่ระดับบนสุดของแผนผังต้นทางจะเป็นดังนี้:
make python3
./bootstrap
หาก configure
จำเป็นต้องอัปเดต./configure
configure ด้วยตัวเลือกที่กำหนดค่าไว้ก่อนหน้านี้ หาก build/make/Makefile
จำเป็นต้องอัปเดตbuild/make
และรันสคริปต์ install
- นี่เป็นอะไรที่มากกว่าส่วนหน้าเล็กน้อยในการรัน make -f build/make/Makefile python3
ซึ่งตั้งค่าตัวแปรสภาพแวดล้อมที่จำเป็นและบันทึกข้อมูลบางอย่างbuild/make/Makefile
มีกฎจริงสำหรับการสร้าง python3
; ซึ่งรวมถึงการสร้างการพึ่งพาของ python3
ทั้งหมดก่อน (และการพึ่งพาแบบเรียกซ้ำ) การติดตั้งแพ็คเกจจริงจะดำเนินการด้วยโปรแกรม sage-spkg
ไม่รองรับการย้ายไดเร็กทอรี SAGE_ROOT
หรือ SAGE_LOCAL
หลังจากสร้าง Sage หากคุณย้ายไดเร็กทอรี คุณจะต้องรัน make distclean
และสร้าง Sage อีกครั้งตั้งแต่เริ่มต้น
สำหรับการติดตั้งทั้งระบบ คุณต้องสร้าง Sage เป็นผู้ใช้ "ปกติ" จากนั้นจึงเปลี่ยนการอนุญาตในฐานะรูทได้ ดูคู่มือการติดตั้งสำหรับข้อมูลเพิ่มเติม
การติดตั้ง Sage ในพื้นที่ของคุณเกือบจะเหมือนกับการติดตั้ง "นักพัฒนา" ใดๆ ทุกประการ คุณสามารถเปลี่ยนแปลงเอกสารประกอบ แหล่งที่มา ฯลฯ และจัดแพคเกจผลลัพธ์ทั้งหมดเพื่อแจกจ่ายซ้ำได้อย่างง่ายดายเหมือนที่เราทำ
หากต้องการทำการแจกแจงแบบไบนารีด้วยแพ็คเกจที่ติดตั้งอยู่ในปัจจุบัน โปรดไปที่ sagemath/binary-pkg
หากต้องการสร้างซอร์ส tarball ของ Sage ของคุณเอง ให้พิมพ์:
$ make dist
ผลลัพธ์จะถูกวางไว้ในไดเร็กทอรี dist/
ซอฟต์แวร์ทั้งหมดที่มาพร้อมกับ Sage เป็นลิขสิทธิ์ของผู้เขียนที่เกี่ยวข้อง และเผยแพร่ภายใต้ใบอนุญาตโอเพ่นซอร์สที่รองรับ GPL เวอร์ชัน 3 หรือใหม่กว่า ดู COPYING.txt สำหรับรายละเอียดเพิ่มเติม
แหล่งที่มาอยู่ใน tarballs ที่ยังไม่ได้แก้ไข (เท่าที่เป็นไปได้) ในไดเร็กทอรี upstream/
คำอธิบาย ข้อมูลเวอร์ชัน แพตช์ และสคริปต์บิลด์ที่เหลืออยู่จะอยู่ในไดเร็กทอรี build/pkgs/
ที่ให้มาด้วย ไดเร็กทอรีนี้เป็นส่วนหนึ่งของที่เก็บ Sage git
ลิขสิทธิ์ (C) 2005-2024 ทีมพัฒนา Sage
https://www.sagemath.org