Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Python-program definieras vanligtvis endast med hjälp av mappar och filer. Den här strukturen kan bli komplex när programmen växer och kanske omfatta automatiskt genererade filer, JavaScript för webbprogram och så vidare. Ett Visual Studio-projekt kan hjälpa dig att hantera komplexiteten. Projektet (en .pyproj fil) identifierar alla käll- och innehållsfiler som är associerade med projektet. Den innehåller bygginformation för varje fil, underhåller informationen för att integrera med källkontrollsystem och hjälper dig att organisera ditt program i logiska komponenter.
Projekt hanteras alltid i en Visual Studio-lösning. En lösning kan innehålla valfritt antal projekt som kan referera till varandra, till exempel ett Python-projekt som refererar till ett C++-projekt som implementerar en tilläggsmodul. Med den här relationen skapar Visual Studio automatiskt C++-projektet (om det behövs) när du börjar felsöka Python-projektet. Mer information finns i Lösningar och projekt i Visual Studio.
Visual Studio innehåller olika Python-projektmallar för att snabbt skapa flera typer av programstrukturer. Du kan välja en mall för att skapa ett projekt från ett befintligt mappträd eller skapa ett rent, tomt projekt. En lista över tillgängliga mallar finns i tabellen i avsnittet Projektmallar .
Tips för att arbeta med Python-projekt
Du behöver inte använda projekt för att köra Python-kod i Visual Studio, men det finns fördelar med att göra det. När du kommer igång kan du läsa följande överväganden om att arbeta med projekt och Python.
I Visual Studio 2019 och senare kan du öppna en mapp med Python-kod och köra koden utan att skapa Visual Studio-projekt- och lösningsfiler.
De guidade stegen för den här metoden finns i artikeln Snabbstart: Öppna och kör Python-kod i en mapp .
Du behöver inte ett projekt för att köra Python-kod i Visual Studio. Alla versioner av Visual Studio fungerar bra med Python-kod.
Du kan öppna en Python-fil på egen hand och omedelbart komma åt funktioner för automatisk komplettering, IntelliSense och felsökning. Det finns dock vissa potentiella nackdelar med att arbeta med koden utan ett projekt:
- Eftersom koden alltid använder den globala standardmiljön kan det uppstå felaktiga slutföranden eller fel om koden är avsedd för en annan miljö.
- Visual Studio analyserar alla filer och paket i mappen som den enskilda filen öppnas från. Den här processen kan förbruka mycket cpu-tid.
Du kan skapa ett Visual Studio-projekt från befintlig kod. Den här metoden beskrivs i avsnittet Skapa ett projekt från befintliga filer .
Grundläggande projektaktiviteter: filer, miljöer och start
När du använder projekt med Python-koden slutför du grundläggande uppgifter, inklusive att lägga till filer, tilldela en startfil och ange Python-tolkmiljön.
När du utvecklar ditt program behöver du vanligtvis lägga till nya filer av olika typer i projektet. Det är enkelt att lägga till fler filer. Högerklicka på projektet, välj Lägg till>befintligt objekt och bläddra för att hitta den typ av fil som ska läggas till. Alternativet Lägg till>nytt objekt öppnar en dialogruta som visar objektmallar som du kan använda för att skapa den nya filen. Alternativen omfattar tomma Python-filer, en Python-klass, ett enhetstest och olika filer som är relaterade till webbprogram. Du kan utforska mallalternativen med ett testprojekt för att lära dig vad som är tillgängligt i din version av Visual Studio. Mer information finns i referensen för objektmallar .
Varje Python-projekt har en tilldelad startfil som visas i fetstil i Solution Explorer. Startfilen körs när du börjar felsöka (genom att välja F5 eller Felsöka>Starta felsökning) eller när du kör projektet i det interaktiva fönstret. Du kan öppna det här fönstret med kortkommandot Skift + Alt + F5 eller genom att välja Felsöka>Kör projekt i Python Interactive. Om du vill ändra startfilen högerklickar du på filen som ska användas och väljer Ange som startobjekt (eller Ange som startfil i äldre versioner av Visual Studio).
Om du tar bort den valda startfilen från ett projekt och inte väljer en alternativ fil vet Visual Studio inte vilken Python-fil som ska användas för att starta projektet. I det här fallet visar Visual Studio 2017 version 15.6 och senare ett fel. Tidigare versioner öppnar antingen ett utdatafönster med Python-tolken igång, eller så öppnas utdatafönstret och stängs sedan omedelbart. Om du stöter på något av dessa beteenden kontrollerar du att du har en tilldelad startfil.
Tips/Råd
Om du vill hålla utdatafönstret öppet högerklickar du på projektet och väljer Egenskaper. I dialogrutan väljer du fliken Felsök och lägger sedan till -i flaggan i fältet Tolkargument . Det här argumentet gör att tolken hamnar i interaktivt läge när ett program har slutförts. Fönstret förblir öppet tills du stänger det, till exempel genom att använda kortkommandot Ctrl+E+Retur.
Ett nytt projekt är alltid associerat med den globala Standard-Python-miljön. Om du vill associera projektet med en annan miljö (inklusive virtuella miljöer) högerklickar du på noden Python-miljöer i projektet. Välj Lägg till miljö och välj sedan de miljöer som du vill använda. Du kan också använda listrutekontrollen för miljöer i verktygsfältet för att välja en miljö eller lägga till en annan miljö i projektet.
Om du vill ändra den aktiva miljön högerklickar du på önskad miljö i Solution Explorer och väljer Aktivera miljö enligt följande bild. Mer information finns i Välj en miljö för ett projekt.
Projektmallar
Visual Studio ger dig många sätt att konfigurera ett Python-projekt, antingen från grunden eller från befintlig kod. Om du vill använda en mall väljer du Nytt>>projekt eller högerklickar på lösningen i Solution Explorer och väljer Lägg till>nytt projekt. I den nya projektdialogrutan kan du se Python-specifika mallar genom att söka i Python eller genom att välja noden Language>Python :
Följande mallar är tillgängliga i Visual Studio version 2022.
| Template | Description |
|---|---|
| Från befintlig Python-kod | Skapar ett Visual Studio-projekt från befintlig Python-kod i en mappstruktur. |
| Python-applikation | Tillhandahåller en grundläggande projektstruktur för ett nytt Python-program med en enda tom källfil. Som standard körs projektet i konsoltolken för den globala standardmiljön. Du kan ändra tilldela en annan miljö. |
| Webbprojekt | Projekt för webbappar baserade på olika ramverk, inklusive Bottle, Django och Flask. |
| Bakgrundsprogram (IoT) | Stöder distribution av Python-projekt som ska köras som bakgrundstjänster på enheter. Mer information finns i Windows IoT Dev Center. |
| Python-tilläggsmodul | Den här mallen visas under Visual C++ om du installerar python-inbyggda utvecklingsverktyg med Python-arbetsbelastningen i Visual Studio 2017 eller senare (se Installation). Mallen innehåller kärnstrukturen för en DLL för C++-tillägg, ungefär som strukturen som beskrivs i Skapa ett C++-tillägg för Python. |
Följande mallar är tillgängliga i Visual Studio version 2019. Alla mallar som är tillgängliga i version 2019 är inte tillgängliga i tidigare versioner av Visual Studio.
| Template | Description |
|---|---|
| Från befintlig Python-kod | Skapar ett Visual Studio-projekt från befintlig Python-kod i en mappstruktur. |
| Python-applikation | Tillhandahåller en grundläggande projektstruktur för ett nytt Python-program med en enda tom källfil. Som standard körs projektet i konsoltolken för den globala standardmiljön. Du kan ändra tilldela en annan miljö. |
| Webbprojekt | Projekt för webbappar baserade på olika ramverk, inklusive Bottle, Django och Flask. |
| Bakgrundsprogram (IoT) | Stöder distribution av Python-projekt som ska köras som bakgrundstjänster på enheter. Mer information finns i Windows IoT Dev Center. |
| Python-tilläggsmodul | Den här mallen visas under Visual C++ om du installerar python-inbyggda utvecklingsverktyg med Python-arbetsbelastningen i Visual Studio 2017 eller senare (se Installation). Mallen innehåller kärnstrukturen för en DLL för C++-tillägg, ungefär som strukturen som beskrivs i Skapa ett C++-tillägg för Python. |
| IronPython-applikation | Använder IronPython som standard och aktiverar .NET-interop och felsökning i blandat läge med .NET-språk. Den här mallen liknar Python-programmallen. |
| IronPython WPF-applikation | Tillhandahåller en projektstruktur med hjälp av IronPython med Windows Presentation Foundation XAML-filer för programmets användargränssnitt. Visual Studio tillhandahåller en XAML-användargränssnittsdesigner, kod bakom kan skrivas i Python och programmet körs utan att en konsol visas. |
| IronPython Silverlight-webbsida | Skapar ett IronPython-projekt som körs i en webbläsare med hjälp av Silverlight. Programmets Python-kod ingår på webbsidan som skript. En skripttagg för boilerplate hämtar JavaScript-kod för att initiera IronPython som körs inuti Silverlight, från vilken Python-koden kan interagera med DOM. |
| IronPython Windows Forms-formulärapplikation | Skapar en projektstruktur med IronPython och användargränssnittet som skapats med hjälp av kod med Windows Forms. Programmet körs utan att en konsol visas. |
Anmärkning
Eftersom Python är ett tolkat språk skapar Python-projekt i Visual Studio inte en fristående körbar fil som andra kompilerade språkprojekt som C#. Mer information finns i frågor och svar.
Skapa ett projekt från befintliga filer
Följ de här stegen för att skapa ett projekt från befintliga filer.
Viktigt!
Följande process flyttar eller kopierar inte några ursprungliga källfiler. Om du vill arbeta med en kopia av dina filer duplicerar du först mappen och skapar sedan projektet.
Starta Visual Studio och välj Arkiv>Nytt>projekt.
I dialogrutan Skapa ett nytt projekt söker du efter python och väljer mallen Från befintlig Python-kod och väljer Nästa.
I dialogrutan Konfigurera det nya projektet anger du ett projektnamn och en plats, väljer den lösning som ska innehålla projektet och väljer Skapa.
I guiden Skapa nytt projekt från befintlig Python Code anger du mappsökvägen till din befintliga kod, anger ett filter för filtyper och anger sökvägar som krävs för projektet och väljer sedan Nästa. Om du inte känner till sökvägarna lämnar du fältet tomt.
På nästa sida väljer du startfilen för projektet. Visual Studio väljer standard global Python-tolk och version. Du kan ändra miljön med hjälp av den nedrullningsbara menyn. När du är klar väljer du Nästa.
Anmärkning
Dialogrutan visar endast filer i rotmappen. Om den fil du vill använda finns i en undermapp lämnar du startfilen tom. Du kan ange startfilen i Solution Explorer enligt beskrivningen i ett senare steg.
Välj den plats där projektfilen ska lagras (en .pyproj-fil på disk). Om tillämpligt kan du även inkludera automatiskdetection av virtuella miljöer och anpassa projektet för olika webbramverk. Om du är osäker på de här alternativen låter du fälten vara inställda på standardvärdena.
Välj Slutför.
Visual Studio skapar projektet och öppnar det i Solution Explorer. Om du vill flytta .pyproj-filen till en annan plats väljer du filen i Solution Explorer och väljer sedan Spara>som i verktygsfältet. Den här åtgärden uppdaterar filreferenser i projektet, men den flyttar inga kodfiler.
Om du vill ange en annan startfil letar du upp filen i Solution Explorer, högerklickar på filen och väljer Ange som startfil.
Länkade filer
Länkade filer är filer som förs in i ett projekt men vanligtvis finns utanför programmets projektmappar. Dessa filer visas i Solution Explorer som vanliga filer med en överlagrad genvägsikon:
Länkade filer anges i .pyproj filen med hjälp av -elementet <Compile Include="..."> . Länkade filer är implicita om de använder en relativ sökväg utanför katalogstrukturen. Om filerna använder sökvägar i Solution Explorer är de länkade filerna explicita. I följande exempel visas explicit länkade filer:
<Compile Include="..\test2.py">
<Link>MyProject\test2.py</Link>
</Compile>
Länkade filer ignoreras under följande villkor:
- Den länkade filen innehåller
Linkmetadata och sökvägen som anges iIncludeattributet finns i projektkatalogen. - Den länkade filen duplicerar en fil som finns i projekthierarkin.
- Den länkade filen innehåller
Linkmetadata ochLinksökvägen är en relativ sökväg utanför projekthierarkin. - Länksökvägen är rotad.
Arbeta med länkade filer
Om du vill lägga till ett befintligt objekt som en länk högerklickar du på mappen i projektet där du vill lägga till filen och väljer Lägg till>befintligt objekt. I dialogrutan väljer du en fil och väljer sedan Lägg till>som länk. Om det inte finns några filer i konflikt skapar det här kommandot en länk i den valda mappen. Länken läggs dock inte till om det finns en befintlig fil med samma namn eller om det redan finns en länk till filen i projektet.
Om du försöker länka till en fil som redan finns i projektmapparna läggs filen till som en vanlig fil och inte som en länk. Om du vill konvertera en fil till en länk väljer du Spara>som för att spara filen på en plats utanför projekthierarkin. Visual Studio konverterar automatiskt filen till en länk. På samma sätt kan en länk återskapas genom att använda Arkiv>Spara som för att spara filen någonstans i projekthierarkin.
Om du flyttar en länkad fil i Solution Explorer flyttas länken men den faktiska filen påverkas inte. Om du tar bort en länk tas länken bort utan att filen påverkas.
Länkade filer kan inte byta namn.
Referenser
Visual Studio-projekt har stöd för att lägga till referenser till projekt och tillägg, som visas under noden Referenser i Solution Explorer:
Tilläggsreferenser anger vanligtvis beroenden mellan projekt och används för att tillhandahålla IntelliSense vid designtillfället eller länka vid kompileringstid. Python-projekt använder referenser på ett liknande sätt, men på grund av den dynamiska karaktären hos Python används de främst vid designtillfället för att ge bättre IntelliSense. De kan också användas för distribution till Microsoft Azure för att installera andra beroenden.
Arbeta med tilläggsmoduler
En referens till en .pyd fil aktiverar IntelliSense för den genererade modulen. Visual Studio läser in .pyd filen i Python-tolken och introspektar dess typer och funktioner. Visual Studio försöker också parsa dokumentsträngarna för funktioner för att ge signaturhjälp.
Om tilläggsmodulen uppdateras på disken analyserar Visual Studio modulen i bakgrunden igen. Den här åtgärden påverkar inte körningsbeteendet, men vissa slutföranden är inte tillgängliga förrän analysen är klar.
Du kan också behöva lägga till en sökväg till mappen som innehåller modulen.
Arbeta med .NET-projekt
När du arbetar med IronPython kan du lägga till referenser till .NET-sammansättningar för att aktivera IntelliSense. För .NET-projekt i din lösning högerklickar du på noden Referenser i Python-projektet och väljer Lägg till referens. I dialogrutan väljer du fliken Projekt och bläddrar till önskat projekt. För DLL:er som du laddade ned separat väljer du fliken Bläddra i stället och bläddrar till önskad DLL.
Eftersom referenser i IronPython inte är tillgängliga förrän efter ett anrop till clr.AddReference('<AssemblyName>') metoden måste du också lägga till ett lämpligt clr.AddReference metodanrop till sammansättningen. Det här anropet läggs vanligtvis till i början av koden. Till exempel innehåller koden som skapats av Projektmallen IronPython Windows Forms Application (tillgänglig i Visual Studio 2019) i Visual Studio två anrop överst i filen:
import clr
clr.AddReference('System.Drawing')
clr.AddReference('System.Windows.Forms')
from System.Drawing import *
from System.Windows.Forms import *
# Other code omitted
Arbeta med WebPI-projekt
Du kan lägga till referenser till webplattformsinstallationsproduktposter (WebPI) för distribution till Microsoft Azure Cloud Services där du kan installera fler komponenter via WebPI-flödet. Som standard är flödet som visas Python-specifikt och innehåller Django, CPython och andra kärnkomponenter. Du kan också välja din egen feed enligt följande bild. När du publicerar till Microsoft Azure installeras alla refererade produkter i en installationsuppgift.
Viktigt!
WebPI-projekt är inte tillgängliga i Visual Studio 2017 eller Visual Studio 2019.