Sisteme bağlı olarak python
== python2
veya python
== python3
.
Yürütülebilir Python komut dosyaları:
#!/usr/bin/env python
#!/usr/bin/env python2
#!/usr/bin/env python3...
Python py3k için belgelerinde sağlanır / sürüm numarası ile kullanabilirsiniz , bu yüzden bunu yapmak:
#!/usr/bin/env python3
Ama py2k komut dosyalarında bir sorun buldum.
İken py2k belgelere kullanımda yazılır: #! /usr/bin/env python
,
bazı * nix-es python py3k varsayılan olarak, bu nedenle python == python3. (Örneğin ArchLinux python paketi , burada python paketi dosyaları ).
Python betiklerini bununla başa çıkacak şekilde nasıl paketleyebilir (yapılandırabilir, oluşturabilir) ve / veya hazırlayabilirim?
Kullanıcılar tarafından (ortamlarını değiştirmeden) kolayca çalıştırılabilecek yazılım paketleri yapmayı istiyorum
Python py2k betikleri için aynı hileyi yapabilir ve şu şekilde ayarlayabilir #!/usr/bin/env python2
miyim? Her python py2k dağıtımının python2
dosya içerdiğinden emin olabilir miyim #!/usr/bin/env python2
?
Evet ise, neden standart olarak önerilmemektedir, örneğin python py2k belgelerinde ?
python2
. Acaba neden py2k ve py3k olduğunda kullanmak standart değil ve varsayılan python
farklı olabilir. Hakkında tavsiyen ne olacak çıkarmadan - bu örneğe uygun değil, ben ambalaj hakkında sormak neden olur. Farklı konfigürasyonlarda / sistemlerde çalışabilen paket yapmak istiyorum. Çevreyi değiştirmenin yolu yok. Kontrol hakkında ne - bildiğim kadarıyla - Shebang için geçerli değildir .
#!...python2
, programlarınızda ve Python 3.x kullanıyorsanız o zaman kullanın #!...python3
. Yalnızca belirli bir sürümde çalışacağını biliyorsanız, doğru bağlantıya sahip olmak için işletim sistemine güvenmeyin. Hala Python 1.5.2 olarak yüklü olan sistemlerle çalışıyorum /usr/bin/python
- Eski Python sürümlerini işlemek için kod yazıyorum veya kullanıyorum python2
.
python2
yürütülebilir dosya yok (Debian sıkma). python
için bir sembolik python2.6
ve python3
bir sembolik python3.1
, ancak yok python2
.
python2
çalıştırmak için kullanabilirsiniz (yüklü ise) ve alwayes sürümünü kontrol edebilirsinizpython -V
.python
2 veya 3 olmasını istiyorsanız,rm /usr/bin/python
desierd python sürümünüzden işaret eden symlink oluşturmalısınızln -s /usr/bin/python2.5 /usr/bin/python
.