Visual Studio'da Python projeleri
Python uygulamaları genellikle yalnızca klasör ve dosyalar kullanılarak tanımlanır. Uygulamalar büyüdükçe ve belki de otomatik olarak oluşturulan dosyaları, web uygulamaları için JavaScript'i vb. içerdiğinde bu yapı karmaşık hale gelebilir. Visual Studio projesi karmaşıklığı yönetmenize yardımcı olabilir. Proje (dosya .pyproj
), projenizle ilişkili tüm kaynak ve içerik dosyalarını tanımlar. Her dosya için derleme bilgilerini içerir, kaynak denetim sistemleriyle tümleştirmek için bilgileri korur ve uygulamanızı mantıksal bileşenler halinde düzenlemenize yardımcı olur.
Projeler her zaman bir Visual Studio çözümü içinde yönetilir. Bir çözüm, bir uzantı modülü uygulayan bir C++ projesine başvuran python projesi gibi, birbirine başvurabilecek herhangi bir sayıda proje içerebilir. Bu ilişkiyle, Python projesinde hata ayıklamaya başladığınızda Visual Studio C++ projesini (gerekirse) otomatik olarak oluşturur. Daha fazla bilgi için bkz . Visual Studio'da çözümler ve projeler.
Visual Studio, çeşitli uygulama yapılarını hızla oluşturmak için çeşitli Python proje şablonları sağlar. Var olan bir klasör ağacından proje oluşturmak veya temiz, boş bir proje oluşturmak için bir şablon seçebilirsiniz. Kullanılabilir şablonların listesi için Proje şablonları bölümündeki tabloya bakın.
Python projeleriyle çalışmak için İpuçları
Visual Studio'da Python kodunu çalıştırmak için projeleri kullanmanız gerekmez, ancak bunu yapmanın avantajları vardır. Başlarken, projelerle ve Python ile çalışma hakkında aşağıdaki önemli noktaları gözden geçirin.
Visual Studio 2019 ve sonraki sürümlerde, Python kodu içeren bir klasör açabilir ve Visual Studio proje ve çözüm dosyaları oluşturmadan kodu çalıştırabilirsiniz.
Bu yaklaşımın kılavuzlu adımları Hızlı Başlangıç: Python kodunu bir klasörde açma ve çalıştırma makalesinde bulabilirsiniz.
Visual Studio'da Python kodunu çalıştırmak için bir projeye ihtiyacınız yoktur. Visual Studio'nun tüm sürümleri Python koduyla iyi çalışır.
Python dosyasını tek başına açabilir ve otomatik tamamlama, IntelliSense ve hata ayıklama özelliklerine hemen erişebilirsiniz. Ancak, proje olmadan kodla çalışmanın bazı olası dezavantajları vardır:
- Kod her zaman varsayılan genel ortamı kullandığından, kod farklı bir ortama yönelikse yanlış tamamlamalar veya hatalar görebilirsiniz.
- Visual Studio, tek dosyanın açıldığı klasördeki tüm dosyaları ve paketleri analiz eder. Bu işlem önemli miktarda CPU süresi tüketebilir.
Mevcut koddan bir Visual Studio projesi oluşturabilirsiniz. Bu yaklaşım, Mevcut dosyalardan proje oluşturma bölümünde açıklanmıştır.
Temel proje görevleri: dosyalar, ortamlar ve başlangıç
Python kodunuzla projeleri kullandığınızda, dosya ekleme, başlangıç dosyası atama ve Python yorumlayıcı ortamını ayarlama gibi temel görevleri tamamlarsınız.
Uygulamanızı geliştirirken genellikle projenize farklı türlerde yeni dosyalar eklemeniz gerekir. Daha fazla dosya eklemek kolaydır. Projenize sağ tıklayın, Var Olan Öğe Ekle'yi>seçin ve eklenecek dosya türünü bulmak için göz atın. Yeni Öğe Ekle>seçeneği, yeni dosyayı oluşturmak için kullanabileceğiniz öğe şablonlarını gösteren bir iletişim kutusu açar. Seçenekler arasında boş Python dosyaları, Python sınıfı, birim testi ve web uygulamalarıyla ilgili çeşitli dosyalar bulunur. Visual Studio sürümünüzde neler sağlayabileceğinizi öğrenmek için bir test projesiyle şablon seçeneklerini inceleyebilirsiniz. Daha fazla bilgi için bkz . öğe şablonları başvurusu.
Her Python projesinde, Çözüm Gezgini kalın yazı tipinde gösterilen, atanmış bir başlangıç dosyası vardır. Başlangıç dosyası, hata ayıklamaya başladığınızda (F5'i seçerek veya Hata AyıklamaYazın> Hata Ayıklamayı Başlat'ı seçerek) veya projenizi Etkileşimli penceresinde çalıştırdığınızda çalışır. Bu pencereyi Shift + Alt + F5 klavye kısayoluyla veya Python Interactive'de Proje Yürütme Hatalarını Ayıkla'ya >tıklayarak açabilirsiniz. Başlangıç dosyasını değiştirmek için, kullanılacak dosyaya sağ tıklayın ve Başlangıç Öğesi Olarak Ayarla (veya Visual Studio'nun eski sürümlerinde Başlangıç Dosyası Olarak Ayarla) seçeneğini belirleyin.
Seçilen başlangıç dosyasını bir projeden kaldırır ve alternatif bir dosya seçmezseniz Visual Studio, projeyi başlatmak için hangi Python dosyasının kullanılacağını bilmez. Bu durumda, Visual Studio 2017 sürüm 15.6 ve üzeri bir hata gösterir. Önceki sürümler Python yorumlayıcısının çalıştığı bir çıkış penceresi açar veya çıkış penceresi açılır ve hemen kapatılır. Bu davranışlardan herhangi biri ile karşılaşırsanız, atanmış bir başlangıç dosyanız olup olmadığını denetleyin.
İpucu
Çıkış penceresini açık tutmak için projenize sağ tıklayın ve Özellikler'i seçin. İletişim kutusunda Hata Ayıkla sekmesini seçin ve ardından Bayrağı Yorumlayıcı Bağımsız Değişkenleri alanına ekleyin-i
. Bu bağımsız değişken, program tamamlandıktan sonra yorumlayıcının etkileşimli moda gitmesine neden olur. Pencere, siz kapatana kadar açık kalır; örneğin, Ctrl+E+Enter klavye kısayolunu kullanarak.
Yeni bir proje her zaman varsayılan genel Python ortamıyla ilişkilendirilir. Projeyi farklı bir ortamla (sanal ortamlar dahil) ilişkilendirmek için projedeki Python Ortamları düğümüne sağ tıklayın. Ortam Ekle'yi ve ardından istediğiniz ortamları seçin. Bir ortam seçmek veya projeye başka bir ortam eklemek için araç çubuğundaki ortamlar açılan denetimini de kullanabilirsiniz.
Etkin ortamı değiştirmek için, Çözüm Gezgini'da istediğiniz ortama sağ tıklayın ve aşağıdaki görüntüde gösterildiği gibi Ortamı Etkinleştir'i seçin. Daha fazla bilgi için bkz . Proje için ortam seçme.
Proje şablonları
Visual Studio, sıfırdan veya mevcut koddan python projesi ayarlamanın birçok yolunu sunar. Şablon kullanmak için Dosya>Yeni>Proje'yi seçin veya Çözüm Gezgini'da çözüme sağ tıklayın ve Yeni Proje Ekle'yi> seçin. Yeni proje iletişim kutusunda Python'da arama yaparak veya Dil>Python düğümünü seçerek Python'a özgü şablonları görebilirsiniz:
Aşağıdaki şablonlar Visual Studio sürüm 2022'de kullanılabilir.
Şablon | Açıklama |
---|---|
Mevcut Python kodundan | Bir klasör yapısındaki mevcut Python kodundan bir Visual Studio projesi oluşturur. |
Python Uygulaması | Tek, boş bir kaynak dosyasıyla yeni bir Python uygulaması için temel bir proje yapısı sağlar. Varsayılan olarak, proje varsayılan genel ortamın konsol yorumlayıcısında çalışır. Farklı bir ortam atamayı değiştirebilirsiniz. |
Web projeleri | Bottle, Django ve Flask gibi çeşitli çerçeveleri temel alan web uygulamalarına yönelik projeler. |
Arka Plan Uygulaması (IoT) | Cihazlarda arka plan hizmetleri olarak çalışmak için Python projelerinin dağıtılması desteklenir. Daha fazla bilgi için bkz. Windows IoT Geliştirme Merkezi. |
Python Uzantısı Modülü | Bu şablon, Visual Studio 2017 veya sonraki sürümlerde Python iş yüküyle Python yerel geliştirme araçlarını yüklerseniz Visual C++ altında görünür (bkz. Yükleme). Şablon, Python için C++ uzantısı oluşturma başlığında açıklanan yapıya benzer şekilde bir C++ uzantı DLL'si için temel yapı sağlar. |
Aşağıdaki şablonlar Visual Studio sürüm 2019'da kullanılabilir. Sürüm 2019'da kullanılabilen tüm şablonlar Visual Studio'nun önceki sürümlerinde kullanılamaz.
Şablon | Açıklama |
---|---|
Mevcut Python kodundan | Bir klasör yapısındaki mevcut Python kodundan bir Visual Studio projesi oluşturur. |
Python Uygulaması | Tek, boş bir kaynak dosyasıyla yeni bir Python uygulaması için temel bir proje yapısı sağlar. Varsayılan olarak, proje varsayılan genel ortamın konsol yorumlayıcısında çalışır. Farklı bir ortam atamayı değiştirebilirsiniz. |
Web projeleri | Bottle, Django ve Flask gibi çeşitli çerçeveleri temel alan web uygulamalarına yönelik projeler. |
Arka Plan Uygulaması (IoT) | Cihazlarda arka plan hizmetleri olarak çalışmak için Python projelerinin dağıtılması desteklenir. Daha fazla bilgi için bkz. Windows IoT Geliştirme Merkezi. |
Python Uzantısı Modülü | Bu şablon, Visual Studio 2017 veya sonraki sürümlerde Python iş yüküyle Python yerel geliştirme araçlarını yüklerseniz Visual C++ altında görünür (bkz. Yükleme). Şablon, Python için C++ uzantısı oluşturma başlığında açıklanan yapıya benzer şekilde bir C++ uzantı DLL'si için temel yapı sağlar. |
IronPython Uygulaması | IronPython'u varsayılan olarak kullanır ve .NET dilleriyle .NET birlikte çalışma ve karma mod hata ayıklamasını etkinleştirir. Bu şablon Python Uygulaması şablonuna benzer. |
IronPython WPF Uygulaması | Uygulama kullanıcı arabirimi için Windows Presentation Foundation XAML dosyalarıyla IronPython kullanarak bir proje yapısı sağlar. Visual Studio bir XAML UI tasarımcısı sağlar, Python'da arka planda kod yazılabilir ve uygulama konsol görüntülemeden çalışır. |
IronPython Silverlight Web Sayfası | Silverlight kullanarak tarayıcıda çalışan bir IronPython projesi oluşturur. Uygulamanın Python kodu web sayfasına betik olarak eklenir. Ortak bir betik etiketi, Python kodunuzun DOM ile etkileşim kurabileceği Silverlight içinde çalışan IronPython'u başlatmak için JavaScript kodunu aşağı çeker. |
IronPython Windows Forms Uygulaması | IronPython ve Windows Forms ile kod kullanılarak oluşturulan kullanıcı arabirimi ile bir proje yapısı oluşturur. Uygulama konsol görüntülemeden çalışır. |
Not
Python yorumlanmış bir dil olduğundan, Visual Studio'daki Python projeleri C# gibi diğer derlenmiş dil projeleri gibi tek başına yürütülebilir dosya oluşturmaz. Daha fazla bilgi için bkz . sorular ve yanıtlar.
Mevcut dosyalardan proje oluşturma
Mevcut dosyalardan proje oluşturmak için bu adımları izleyin.
Önemli
Aşağıdaki işlem, özgün kaynak dosyaları taşımaz veya kopyalamaz. Dosyalarınızın bir kopyasıyla çalışmak istiyorsanız, önce klasörü çoğaltın ve sonra projeyi oluşturun.
Visual Studio'yu başlatın ve Dosya Yeni Proje'yi> seçin.>
Yeni proje oluştur iletişim kutusunda Python araması yapın, Mevcut Python kodundan şablonunu seçin ve İleri'yi seçin.
Yeni projenizi yapılandırın iletişim kutusunda bir proje Adı ve Konumu girin, projeyi içerecek çözümü seçin ve Oluştur'u seçin.
Mevcut Python Kodundan Yeni Proje Oluştur sihirbazında Klasör yolunu var olan kodunuz olarak ayarlayın, dosya türleri için bir Filtre ayarlayın ve projenizin gerektirdiği Arama yollarını belirtin ve ardından İleri'yi seçin. Arama yollarını bilmiyorsanız alanı boş bırakın.
Sonraki sayfada projenizin Başlangıç dosyasını seçin. Visual Studio varsayılan genel Python yorumlayıcısını ve sürümünü seçer. Açılan menüyü kullanarak ortamı değiştirebilirsiniz. Hazır olduğunuzda İleri'yi seçin.
Not
İletişim kutusunda yalnızca kök klasördeki dosyalar gösterilir. İstediğiniz dosya bir alt klasördeyse başlangıç dosyasını boş bırakın. Başlangıç dosyasını daha sonraki bir adımda açıklandığı gibi Çözüm Gezgini olarak ayarlayabilirsiniz.
Proje dosyasını (diskte . pyproj dosyası) depolamak için konumu seçin. Varsa, sanal ortamların otomatik algısını da ekleyebilir ve projeyi farklı web çerçeveleri için özelleştirebilirsiniz. Bu seçeneklerden emin değilseniz, alanları varsayılan olarak bırakın.
Bitir'i seçin.
Visual Studio projeyi oluşturur ve Çözüm Gezgini açar. .pyproj dosyasını farklı bir konuma taşımak istiyorsanız, Çözüm Gezgini dosyasını seçin ve ardından araç çubuğunda Dosya>Farklı Kaydet'i seçin. Bu eylem projedeki dosya başvurularını güncelleştirir, ancak hiçbir kod dosyasını taşımaz.
Farklı bir başlangıç dosyası ayarlamak için, Çözüm Gezgini dosyasını bulun, dosyaya sağ tıklayın ve Başlangıç Dosyası Olarak Ayarla'yı seçin.
Bağlı dosyalar
Bağlantılı dosyalar, bir projeye getirilen ancak genellikle uygulamanın proje klasörlerinin dışında bulunan dosyalardır. Bu dosyalar, Çözüm Gezgini'da yer paylaşımlı kısayol simgesiyle normal dosyalar olarak görünür:
Bağlı dosyalar dosyasında öğesi kullanılarak <Compile Include="...">
belirtilir.pyproj
. Bağlı dosyalar , dizin yapısının dışında göreli bir yol kullanıyorsa örtük olur. Dosyalar Çözüm Gezgini içindeki yolları kullanıyorsa, bağlı dosyalar açık olur. Aşağıdaki örnekte açıkça bağlı dosyalar gösterilmektedir:
<Compile Include="..\test2.py">
<Link>MyProject\test2.py</Link>
</Compile>
Bağlı dosyalar aşağıdaki koşullarda yoksayılır:
- Bağlı dosya meta verileri içerir
Link
ve öznitelikteInclude
belirtilen yol proje dizininde yer alır. - Bağlı dosya, proje hiyerarşisinde var olan bir dosyayı yineler.
- Bağlı dosya meta verileri içerir
Link
veLink
yol, proje hiyerarşisinin dışındaki göreli bir yoldur. - Bağlantı yolu kök olarak oluşturulur.
Bağlı dosyalarla çalışma
Var olan bir öğeyi bağlantı olarak eklemek için, projede dosyayı eklemek istediğiniz klasöre sağ tıklayın ve Varolan Öğe Ekle'yi>seçin. İletişim kutusunda bir dosya seçin ve ardından Bağlantı Olarak Ekle'yi>seçin. Çakışan dosya yoksa, bu komut seçili klasörde bir bağlantı oluşturur. Ancak, projede aynı ada sahip bir dosya veya bu dosyanın bağlantısı zaten varsa bağlantı eklenmez.
Proje klasörlerinde zaten var olan bir dosyaya bağlanmaya çalışırsanız, dosya bağlantı olarak değil normal bir dosya olarak eklenir. Dosyayı bağlantıya dönüştürmek için Dosya>Farklı Kaydet'i seçerek dosyayı proje hiyerarşisinin dışındaki bir konuma kaydedin. Visual Studio, dosyayı otomatik olarak bir bağlantıya dönüştürür. Benzer şekilde, dosyayı proje hiyerarşisinde bir yere kaydetmek için Dosya>Farklı Kaydet kullanılarak bir bağlantı geri dönüştürülebilir.
Bağlı bir dosyayı Çözüm Gezgini taşırsanız, bağlantı taşınır ancak gerçek dosya etkilenmez. Benzer şekilde, bir bağlantı silindiğinde dosya etkilenmeden bağlantı kaldırılır.
Bağlı dosyalar yeniden adlandırılamaz.
Başvurular
Visual Studio projeleri, Çözüm Gezgini'deki Başvurular düğümü altında görünen projelere ve uzantılara başvuru eklemeyi destekler:
Uzantı başvuruları genellikle projeler arasındaki bağımlılıkları gösterir ve tasarım zamanında IntelliSense sağlamak veya derleme zamanında bağlantı sağlamak için kullanılır. Python projeleri başvuruları benzer şekilde kullanır, ancak Python'ın dinamik yapısı nedeniyle öncelikle tasarım zamanında geliştirilmiş IntelliSense sağlamak için kullanılır. Bunlar, diğer bağımlılıkları yüklemek üzere Microsoft Azure'a dağıtım için de kullanılabilir.
Uzantı modülleriyle çalışma
Dosya başvurusu .pyd
, oluşturulan modül için IntelliSense'i etkinleştirir. Visual Studio, dosyayı Python yorumlayıcısına yükler .pyd
ve türlerine ve işlevlerine göz atmaktadır. Visual Studio ayrıca imza yardımı sağlamak üzere işlevler için belge dizelerini ayrıştırmaya çalışır.
Herhangi bir zamanda uzantı modülü diskte güncelleştirilirse, Visual Studio modülü arka planda yeniden analiz eder. Bu eylemin çalışma zamanı davranışı üzerinde hiçbir etkisi yoktur, ancak analiz tamamlanana kadar bazı tamamlamalar kullanılamaz.
Modülü içeren klasöre bir arama yolu da eklemeniz gerekebilir.
.NET projeleriyle çalışma
IronPython ile çalışırken IntelliSense'i etkinleştirmek için .NET derlemelerine başvurular ekleyebilirsiniz. Çözümünüzdeki .NET projeleri için Python projenizde Başvurular düğümüne sağ tıklayın ve Başvuru Ekle'yi seçin. İletişim kutusunda Projeler sekmesini seçin ve istediğiniz projeye göz atın. Ayrı olarak indirdiğiniz DLL'ler için, bunun yerine Gözat sekmesini seçin ve istediğiniz DLL'ye gidin.
IronPython'daki başvurular yöntem çağrısından clr.AddReference('<AssemblyName>')
sonraya kadar kullanılamadığından, derlemeye uygun clr.AddReference
bir yöntem çağrısı da eklemeniz gerekir. Bu çağrı genellikle kodunuzun başına eklenir. Örneğin, Visual Studio'daki IronPython Windows Forms Uygulaması (Visual Studio 2019'da kullanılabilir) proje şablonu tarafından oluşturulan kod, dosyanın en üstünde iki çağrı içerir:
import clr
clr.AddReference('System.Drawing')
clr.AddReference('System.Windows.Forms')
from System.Drawing import *
from System.Windows.Forms import *
# Other code omitted
WebPI projeleriyle çalışma
Microsoft Azure Cloud Services'e dağıtım için Web Platformu Yükleyicisi (WebPI) ürün girişlerine başvurular ekleyebilirsiniz. Burada, WebPI akışı aracılığıyla daha fazla bileşen yükleyebilirsiniz. Varsayılan olarak, görüntülenen akış Python'a özgüdür ve Django, CPython ve diğer temel bileşenleri içerir. Aşağıdaki görüntüde gösterildiği gibi kendi akışınızı da seçebilirsiniz. Microsoft Azure'da yayımladığınızda, bir kurulum görevi başvuruda bulunan tüm ürünleri yükler.
Önemli
WebPI projeleri Visual Studio 2017 veya Visual Studio 2019'da kullanılamaz.