Tùy thuộc vào hệ thống, python
== python2
hoặc python
== python3
.
Các tập lệnh Python có thể thực thi, bắt đầu bằng:
#!/usr/bin/env python
#!/usr/bin/env python2
#!/usr/bin/env python3...
Đối với python py3k, nó được cung cấp trong tài liệu Tôi nên / có thể sử dụng nó với số phiên bản , vì vậy tôi làm điều này:
#!/usr/bin/env python3
Nhưng tôi đã tìm thấy một vấn đề với các kịch bản py2k.
Trong khi trong tài liệu py2k, nó được viết để sử dụng : #! /usr/bin/env python
,
trên một số * nix-es python py3k là mặc định, vì vậy python == python3. (Ví dụ gói python ArchLinux , ở đây tập tin gói python ).
Làm cách nào để đóng gói (cấu hình, thực hiện) và / hoặc chuẩn bị các tập lệnh python để phân phối để xử lý việc đó?
Tôi hỏi về việc tạo các gói phần mềm có thể chạy dễ dàng bởi người dùng (mà không cần sửa đổi môi trường của họ)
Tôi có thể thực hiện thủ thuật tương tự cho các kịch bản py2k python như đối với các kịch bản py3k python và đặt nó là : #!/usr/bin/env python2
? Tôi có thể chắc chắn rằng mỗi bản phân phối py2k python chứa python2
tệp, vì vậy #!/usr/bin/env python2
sẽ hoạt động?
Nếu có, tại sao nó không được đề xuất như là tiêu chuẩn, ví dụ trong tài liệu py2k python ?
python2
. Tôi tự hỏi tại sao nó không chuẩn để sử dụng nó khi có py2k và py3k và mặc định python
có thể khác nhau. Điều gì về lời khuyên của bạn về việc loại bỏ - nó không phù hợp với ví dụ này, vì tôi hỏi về bao bì. Tôi muốn tạo gói có thể chạy trong các cấu hình / hệ thống khác nhau. Không có cách nào để sửa đổi môi trường. Điều gì về kiểm tra - nó không áp dụng cho Shebang - theo như tôi biết.
#!...python2
trong các chương trình của bạn và nếu bạn đang sử dụng Python 3.x, thì hãy sử dụng #!...python3
. Đừng dựa vào hệ điều hành để có liên kết phù hợp nếu bạn biết nó sẽ chỉ hoạt động trên một bản phát hành cụ thể. Tôi làm việc với các hệ thống vẫn cài đặt Python 1.5.2 như /usr/bin/python
- Tôi viết mã để xử lý các bản phát hành Python cũ hơn hoặc sử dụng python2
.
python2
khả năng thực thi trên hệ thống của mình (Debian nén). python
là một liên kết tượng trưng đến python2.6
và python3
là một liên kết tượng trưng đến python3.1
, nhưng không có python2
.
python2
để chạy nó (nếu đã cài đặt) và luôn luôn bạn có thể kiểm tra phiên bảnpython -V
. nếu bạn muốn đópython
là 2 hoặc 3, thì bạn nênrm /usr/bin/python
tạo liên kết tượng trưng từ phiên bản python desierd của bạn, vdln -s /usr/bin/python2.5 /usr/bin/python
.