2012-08-11 55 views
9

Şimdiye kadar bir cevabı bulmaya çalışıyorum, ama buna bir cevap bulmaya çalışıyorum, fakat programlama konusundaki deneyimsizliğim nedeniyle, belgelerin çoğunu anlamadım, ya da çok fazla deney yapmak için yeterince güvenmiyorum.Nasıl python .py dosyasını çapraz platform kullanmak için yürütülebilir bir dosyaya dönüştürmek için?

Py2exe, PyInstaller, cx_freeze vb. Programları nasıl kullanacağımı biraz daha basit terimlerle tarif edebilecek misiniz? Sadece diğerleri için (çoğunlukla arkadaşların) python'u indirmeye gerek kalmadan benim (basit, sadece metin) programımı çalıştırabilmek için bir yol istiyorum. Bunu yapmanın daha kolay bir yolu varsa bunu da bilmek isterim.

Running Vista 32 bit, piton 2.7

+0

Muhtemelen belirtmeliydim - evet arkadaşlar, bu hiç de ticari bir şey değil. –

cevap

10

yürütülebilir oluşturmak için piton komut donma iki farklı yolu vardır:

  1. bir exe dosyası-kabın içine tercüman ve * .pyc dosyaları Paketleme. Böyle bir yaklaşım, PyInstaller, Py2exe, cx_freeze gibi araçlar tarafından kullanılır. Python kaynağından C veya C++ koduna dönüştürmenin bir orta adımını kullanarak Python kaynağından yerel kod oluşturma. Bu, Shed-skin ve Nuitka gibi araçlar tarafından yapılır. Bu yaklaşımın sorunu tür araçlar hep Python tüm işlevlerini desteklemek kalmamasıdır

Eğer belgeleri okuma başlamak zorunda nokta (ör bu kadar bazı yazarak sınırlamaları ve olabilir). Bu tür araçlar sadece push-and-run stili araçlar değil, genellikle uygulanması gereken bir konfigürasyona sahipler (bu muhtemelen tüm inşa sistemleri problemidir ve proje büyüdükçe, konfigürasyon ve kanca sayısı da büyür).

Derleme işleminin nasıl yapıldığını öğrenmek için Py2exe tutorial ve "hello-world" ile başlayabilirsiniz. Bildiğim kadarıyla hedefinizi almanın en basit yolu.

Ve son şey

, Eğer çapraz platform yerli çalıştırılabilir dosya formatına olarak oluşturamaz kuvvetle bağımlı sistemi ve donanım faaliyet gösteriyor.

+0

Daha önce bunlardan üçü için belgelere bakmıştım ve zaten bahsettiğiniz öğreticiyi kullanmaya çalışmıştım - öğretici ile ne yapmam gerektiğini söylediği için şansım olmadı ve ben de anlaşılması zor diğer belgeler. Zorlandığım için özür dilerim ama birilerinin bir açıklama/kılavuzu daha kolay tanımlayabileceğini umuyordum. –

+0

@Ricochet_Bunny, benim düşünceme py2exe öğretici ile başlamak için en kolay açıklama, muhtemelen onu yakalamak için daha fazla zaman harcamanız gerekir, hiçbir şey basittir). –

+0

Tamam, başka bir şey vereceğim. Bunun tek nedeni, aynı sonuçları bana anlattığı şeyleri yapmamam ve nedenini bilmem. İlgili bir konu ile ilgili –

3
  1. İndir py2exe'yi
  2. İndir bu msvcp90.dll
  3. sizin FileCode.pyVE Cmsvcp90.dll kopyala: \ C
  4. \ Python27: \ Python27 \ oluşturmak yeni bir metin dosyası girin ve bu kodu içine girin:
from distutils.core import setup 
import py2exe 
setup(console=['Avril.py']) 
  1. YourFileName.py
  2. Kaydet kurulumu gibi dosya ile Avril.py değiştirin.txt
  3. Açık CMD ve bu yazın:

cd C: Şimdi \ Python27 \
piton Kur.txt py2exe'yi

  1. C: \ Python27 \ dist \ gidin ve sizin .exe programınız var.

Kaynak: Manvir Singh

0

Python komut komut dosyası üst piton ortam yolunu koyarak, kabuk komut gibi, doğrudan çalıştırılabilir yapılabilir. Bir komut dosyası olarak çalıştırmak olacaktır Python dosyasına çift tıklayın, böylece

#!/usr/bin/env python3.5 

Python yükleyicisi otomatik python.exe ile .py dosyaları ilişkilendirir. Uzantı ayrıca, .pyw olabilir, bu durumda, normalde görünen konsol penceresi bastırılır.

Linux için detaylı açıklama here'dur.

1

pyinstaller yükleyin, piton bulunduğu yere piton 2.7 için .exe .py dönüştüren bir program:

cd C:\python27\scripts 
pip install pyinstaller 

o zaman C derlemek istediğiniz her türlü piton dosyası taşıyın: \ komut \, derlemek python27 kullanarak oradan:

pyinstaller --onefile yourfile.py 

--onefile isteğe bağlıdır ama bir .exe içine (bu örnek yourfile.py olarak) her şeyi paketler. Her şey bittiğinde, bir .spec dosyasıyla birlikte 2 yeni klasör olacak. C: \ python27 \ scripts dosyasından klasör dist. .exe'niz, python olmayan birine yürütmek ve dağıtmak için iki kez dokunabileceğiniz tek bir dosyada bulunur. Umarım yardımcı olur.