Ubuntu đi kèm với Python 2.7.2+ được cài đặt trước. (Tôi cũng đã tải xuống các gói dev trăn.) Vì một vấn đề khác mà tôi gặp phải (Giải thích ở độ sâu cực đoan trong How do I replace/update the version of the expat library used by Apache?), Graham Dumpleton nói với tôi rằng bản phân phối của tôi đã xây dựng Python một cách rõ ràng theo cách sử dụng triển khai pyexpat bên ngoài. vấn đề. Ông cũng nói rằng tôi có thể xây dựng Python bản thân mình từ mã nguồn để giải quyết vấn đề. Làm thế nào tôi sẽ làm điều này trên Ubuntu? (Hãy nhớ Tôi mới sang Linux.)Làm cách nào để tự xây dựng python từ mã nguồn trên Ubuntu?
Trả lời
Tại dấu nhắc shell (trong một thiết bị đầu cuối), chạy
sudo apt-get install build-essential
này sẽ lấy tất cả các gói thông thường bạn cần phải xây dựng bất cứ điều gì (ví dụ như trình biên dịch, v.v.)
Sau đó chạy
sudo apt-get build-dep python2.7
này sẽ lấy tất cả các thư viện bạn cần xây dựng python.
Sau đó tải xuống mã nguồn cho python và giải nén mã đó vào thư mục.
đến đó và chạy
./configure --prefix=/path/where/you/want/python/installed
Sau đó
make
và sau đómake install
để có được nó được xây dựng và lắp đặt:make && make install
Nếu bạn nhấn snags trên đường, hãy hỏi lại đây và tôi sẽ cố gắng đưa ra một số hướng dẫn.
Khi tôi chạy 'sudo apt-get build-dep python2.7' nó nói" E: Bạn phải đặt một số 'nguồn' URI trong sources.list của bạn ". Bất kỳ ý tưởng? (Ngoài ra, phụ lưu ý: Tôi nghĩ rằng bạn có nghĩa là để viết 'sudo apt-get cài đặt xây dựng-cần thiết mà không có -s ở phần cuối của" yếu tố cần thiết "trong lệnh đầu tiên.) –
Họ cũng cần tùy chọn --enable-shared khi xây dựng Python khi họ muốn sử dụng nó với mod_wsgi và Python không xây dựng thư viện được chia sẻ theo mặc định, không lý tưởng cho việc tải động các hệ thống nhúng. –
"Họ" là gì? bạn đang đề cập gì tới? Ngoài ra, trước đó, làm cách nào để giải quyết thông báo lỗi? Tôi có cần thêm thứ gì đó vào sources.list không? –
Giải pháp vượt trội để tự xây dựng Python là pythonbrew, quá trình này tự động hóa và cũng cho phép bạn không chỉ cài đặt nhiều phiên bản khác nhau mà còn dễ dàng lựa chọn giữa chúng.
Năm 2016, pyenv và PyRun là giải pháp khả thi nhất.
+1 cho công cụ. Nó trưởng thành như thế nào? Bạn có kinh nghiệm cá nhân không? –
@NoufalIbrahim: Tôi sử dụng ['pythonz'] (https://github.com/saghul/pythonz) (một nhánh đơn giản của' pythonbrew'). Nó hoạt động như quảng cáo: nó tự động hóa quá trình tải xuống các nguồn và xây dựng chúng bằng tay. – jfs
Công cụ này không còn được duy trì. –
Bạn có thể thử sử dụng pyenv. Tôi chưa thử nó. Nhưng nhìn vào các nguồn, có vẻ như rất trưởng thành để thực hiện cài đặt bất kỳ trình thông dịch CPython nào trên bất kỳ hệ thống * ix nào.
Cách tốt nhất để xây dựng trăn "nóng" rất gần đây (từ github) như sau:
sudo apt-get update \
&& apt-get install -y build-essential git libexpat1-dev libssl-dev zlib1g-dev \
libncurses5-dev libbz2-dev liblzma-dev \
libsqlite3-dev libffi-dev tcl-dev linux-headers-amd64 libgdbm-dev \
libreadline-dev tk tk-dev
git clone https://github.com/python/cpython.git
cd cpython && ./configure --prefix=/usr \
--enable-loadable-sqlite-extensions \
--enable-shared \
--with-lto \
--enable-optimizations \
--with-system-expat \
--with-system-ffi \
--enable-ipv6 --with-threads --with-pydebug --disable-rpath \
&& make \
&& make install
Nó xây dựng python rất gần đây từ các nguồn trên github.
Với điều này tôi đã xây dựng Python 3.7.0a0 (heads/master:60a6632a3d, Aug 5 2017)
.
- 1. Làm thế nào để bỏ qua python địa phương khi xây dựng python từ nguồn
- 2. Xây dựng Eclipse từ nguồn
- 3. Xây dựng Mercurial 1.3.1 trên Ubuntu Linux
- 4. Làm thế nào để xây dựng midas.obj từ mã nguồn midas
- 5. Tôi làm cách nào để xây dựng một phần mã nguồn Android?
- 6. Cabal: xây dựng dir với mã nguồn
- 7. Làm thế nào để xây dựng src từ một CygPort?
- 8. Làm thế nào để xây dựng qt ra khỏi nguồn
- 9. Xây dựng lặp lại từ cùng một mã nguồn C# trên các máy khác nhau
- 10. Làm cách nào để xây dựng javadoc từ các nguồn trong tệp .jar?
- 11. Không thể xây dựng mã nguồn mở cv 2.3.1
- 12. Làm thế nào để xây dựng libc mã nguồn mở của apple?
- 13. Làm thế nào để xây dựng dự án android với openjdk trên Ubuntu?
- 14. lỗi libtool xây dựng tiết kiệm 0.9.1 trên Ubuntu 13.04
- 15. Cách Debian tự động tìm nạp phụ thuộc xây dựng trong Debian hoặc Ubuntu là gì?
- 16. Không thể tìm thấy libmysqlclient trong/usr. trong khi xây dựng PHP 5.2 từ nguồn trên Ubuntu 12,4
- 17. Thiếu biểu tượng xây dựng Android trên Ubuntu
- 18. Làm thế nào để xây dựng 32 bit python 2,6 trên 64bit Linux?
- 19. bash được xây dựng trong chức năng mã nguồn bash
- 20. XCODE tự động lưu mã khi xây dựng và chạy?
- 21. Làm cách nào để tự động thụt lề mã nguồn?
- 22. Làm cách nào để thiết lập đường dẫn xây dựng Eclipse và đường dẫn lớp từ tệp xây dựng Ant?
- 23. Xây dựng thư viện OpenCV từ các tệp nguồn
- 24. Làm cách nào để cài đặt M2Crypto trên Ubuntu?
- 25. Làm thế nào để xây dựng Java JRE từ nguồn (src.zip trong JDK)?
- 26. mã nguồn tương tự, Eclipse xây dựng thành công nhưng Maven (javac) không
- 27. Tôi làm cách nào để thêm bản sửa đổi và ngày xây dựng vào nguồn?
- 28. Làm cách nào để chạy thử nghiệm mvn một cách nguyên tử (không cần xây dựng lại mã nguồn)?
- 29. Làm thế nào để xây dựng trình biên dịch F # từ nguồn
- 30. Xây dựng nguồn so với xây dựng nhị phân?
Nếu bạn không nhận được câu trả lời ở đây, câu hỏi này có thể được xem bởi nhiều người Ubuntu hơn tại askubuntu.com –
Điều này không thực sự đặc biệt ubuntu vì vậy tôi nghĩ rằng nó tốt hơn ở đây. Các trang web trao đổi stack khác nhau có chồng chéo đáng kể trong quan điểm của tôi. –