Python öğrenmeye başladım ve aynı zamanda Ubuntu'ya yeni bir kullanıcıyım. .py
Dosyaları derlemenin yollarını bilmem gerekiyor . Komutla denedim
python "hello.py"
Python'u derlemenin diğer yolları nelerdir?
Python öğrenmeye başladım ve aynı zamanda Ubuntu'ya yeni bir kullanıcıyım. .py
Dosyaları derlemenin yollarını bilmem gerekiyor . Komutla denedim
python "hello.py"
Python'u derlemenin diğer yolları nelerdir?
Yanıtlar:
Ayrıca çalıştırmak için bir dosyayı derlemeniz gerekmediğini unutmayın.py
. Python, yorumlanmış bir dildir ve aşağıdakileri kullanarak doğrudan komut dosyalarını çalıştırabilirsiniz:
python hello.py
Veya ekleyerek komut çalıştırılabilir hale #!/usr/bin/env python
, senaryonun üstüne ile dosyayı çalıştırılabilir hale chmod +x hello.py
ve sonra çalışan:
./hello.py
Python'un .py
betiğinizi dahili .pyc
olarak performans nedenleriyle bytecode dosyaları için derlemesi bir uygulama detayıdır ve bunu yapmak için güçlü bir nedeniniz yoksa python'un ne zaman ve derleneceğine karar vermesine izin verin.
chmod +x
), tercüman komut dosyasını nasıl okuyor?
#!/path/to/interpreter
, çekirdek aslında orada bildirilenleri çalıştırır, komut dosyası yolunu argüman olarak geçirir. Benim örneğimde, çalıştırdığınızda ./hello.py
gerçekte yürütülen şeydir /usr/bin/env python ./hello.py
. Bakınız en.wikipedia.org/wiki/Shebang_(Unix)
chmod +x
hibeler yürütülür ve mevcut izinlere dokunmaz, bu nedenle muhtemelen çalıştırılabilir olmanın yanı sıra okunabilir.
Bu bağlantıya göz atın Python'da derleyin
Sayfanın ortasında, içe aktarılabilecek py_compile modülünden bahsediyor. Sözdizimi aşağıdaki gibidir:
import py_compile
py_compile.compile("file.py")
Bu derleme yöntemi, modülü python file.py çalıştırması gibi kullanmayacaktır.
Ayrıca tüm bir dizin ağacını derleyen bir yöntem var, ancak nasıl yapıldığını görmek için bağlantıyı kontrol etmenize izin vereceğim.
Bu yardımcı olur umarım.
Ayrıca deneyebilirsiniz compileall
:
python -m compileall ./
Python scriptlerini çeşitli metotlar kullanarak bir ikili koda derleyebilirsiniz, ancak Nuitka kullanımının daha verimli olduğunu öğrendim.
Nuitka, Python'un neredeyse tüm sürümlerini destekleyen bir Python'dan C ++ derleyicisidir.
Komut sözdizimi kadar kolaydır
nuitka hello.py
Goto http://nuitka.net/doc/user-manual.html Daha fazla bilgi için.
-O
gibi bir bayrak da ekleyebilirsinizpython -O -m py_compile …
. Geneldeassert
ifadeleri veif __debug__
kodu çıkarır , bu nedenle çoğu kod için etkisi yoktur. Bkzman python
ve “do ... Python optimizasyonu özü nedir?” Detaylar için.