Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Python-toepassingen worden doorgaans gedefinieerd met behulp van alleen mappen en bestanden. Deze structuur kan complex worden naarmate toepassingen groeien en mogelijk automatisch gegenereerde bestanden, JavaScript voor webtoepassingen, enzovoort omvatten. Een Visual Studio-project kan u helpen bij het beheren van de complexiteit. Het project (een .pyproj bestand) identificeert alle bron- en inhoudsbestanden die aan uw project zijn gekoppeld. Het bevat build-informatie voor elk bestand, onderhoudt de informatie die moet worden geïntegreerd met broncodebeheersystemen en helpt u bij het organiseren van uw toepassing in logische onderdelen.
Projecten worden altijd beheerd binnen een Visual Studio-oplossing. Een oplossing kan een willekeurig aantal projecten bevatten dat naar elkaar kan verwijzen, zoals een Python-project dat verwijst naar een C++-project dat een extensiemodule implementeert. Met deze relatie bouwt Visual Studio automatisch het C++-project (indien nodig) wanneer u begint met het opsporen van fouten in het Python-project. Zie Oplossingen en projecten in Visual Studio voor meer informatie.
Visual Studio biedt verschillende Python-projectsjablonen om snel verschillende typen toepassingsstructuren te maken. U kunt een sjabloon kiezen om een project te maken op basis van een bestaande mapstructuur of een schoon, leeg project maken. Zie de tabel in de sectie Projectsjablonen voor een lijst met beschikbare sjablonen.
Tips voor het werken met Python-projecten
U hoeft geen projecten te gebruiken om Python-code uit te voeren in Visual Studio, maar er zijn voordelen om dit te doen. Als u aan de slag gaat, bekijkt u de volgende overwegingen over het werken met projecten en Python.
In Visual Studio 2019 en hoger kunt u een map met Python-code openen en de code uitvoeren zonder Visual Studio-project- en oplossingsbestanden te maken.
De begeleide stappen voor deze aanpak zijn beschikbaar in de quickstart: Python-code openen en uitvoeren in een mapartikel .
U hebt geen project nodig om Python-code uit te voeren in Visual Studio. Alle versies van Visual Studio werken goed met Python-code.
U kunt zelf een Python-bestand openen en direct toegang krijgen tot functies voor automatisch aanvullen, IntelliSense en foutopsporing. Er zijn echter enkele mogelijke nadelen van het werken met de code zonder een project:
- Omdat de code altijd gebruikmaakt van de standaard algemene standaardomgeving, ziet u mogelijk onjuiste voltooiingen of fouten als de code is bedoeld voor een andere omgeving.
- Visual Studio analyseert alle bestanden en pakketten in de map waaruit het ene bestand wordt geopend. Dit proces kan aanzienlijke CPU-tijd verbruiken.
U kunt een Visual Studio-project maken op basis van bestaande code. Deze benadering wordt beschreven in de sectie Een project maken op basis van bestaande bestanden .
Basisprojecttaken: bestanden, omgevingen en opstarten
Wanneer u projecten met uw Python-code gebruikt, voert u basistaken uit, zoals het toevoegen van bestanden, het toewijzen van een opstartbestand en het instellen van de Python-interpreteromgeving.
Wanneer u uw toepassing ontwikkelt, moet u doorgaans nieuwe bestanden van verschillende typen toevoegen aan uw project. Het is eenvoudig om meer bestanden toe te voegen. Klik met de rechtermuisknop op uw project, selecteerBestaand item> en blader naar het type bestand dat u wilt toevoegen. Met de optieNieuw item> wordt een dialoogvenster geopend met itemsjablonen die u kunt gebruiken om het nieuwe bestand te maken. Opties zijn lege Python-bestanden, een Python-klasse, een eenheidstest en verschillende bestanden met betrekking tot webtoepassingen. U kunt de sjabloonopties verkennen met een testproject om te leren wat er beschikbaar is in uw versie van Visual Studio. Zie de itemsjablonen referentie voor meer informatie.
Elk Python-project heeft één toegewezen opstartbestand, dat vetgedrukt wordt weergegeven in Solution Explorer. Het opstartbestand wordt uitgevoerd wanneer u begint met foutopsporing (door F5 ofFoutopsporing starten met foutopsporing> te selecteren) of wanneer u uw project uitvoert in het interactieve venster. U kunt dit venster openen met de sneltoets Shift + Alt + F5 of door Foutopsporing>project uitvoeren te selecteren in Python Interactive. Als u het opstartbestand wilt wijzigen, klikt u met de rechtermuisknop op het bestand dat u wilt gebruiken en selecteert u Instellen als opstartitem (of Als opstartbestand instellen in oudere versies van Visual Studio).
Als u het geselecteerde opstartbestand uit een project verwijdert en geen alternatief bestand selecteert, weet Visual Studio niet welk Python-bestand u moet gebruiken om het project te starten. In dit geval wordt in Visual Studio 2017 versie 15.6 en hoger een fout weergegeven. In eerdere versies wordt een uitvoervenster geopend met de Python-interpreter actief, of het uitvoervenster opent en sluit vervolgens direct. Als u een van deze gedragingen tegenkomt, controleert u of u een toegewezen opstartbestand hebt.
Aanbeveling
Als u het uitvoervenster geopend wilt houden, klikt u met de rechtermuisknop op het project en selecteert u Eigenschappen. Selecteer in het dialoogvenster het tabblad Foutopsporing en voeg de -i vlag toe aan het veld Interpreterargumenten . Dit argument zorgt ervoor dat de interpreter in de interactieve modus gaat nadat een programma is voltooid. Het venster blijft geopend totdat u het sluit, zoals met de sneltoets Ctrl+E+Enter.
Een nieuw project is altijd gekoppeld aan de standaard globale Python-omgeving. Als u het project wilt koppelen aan een andere omgeving (inclusief virtuele omgevingen), klikt u met de rechtermuisknop op het knooppunt Python-omgevingen in het project. Selecteer Omgeving toevoegen en selecteer vervolgens de gewenste omgevingen. U kunt ook de vervolgkeuzelijst omgevingen op de werkbalk gebruiken om een omgeving te selecteren of een andere omgeving aan het project toe te voegen.
Als u de actieve omgeving wilt wijzigen, klikt u met de rechtermuisknop op de gewenste omgeving in Solution Explorer en selecteert u Omgeving activeren , zoals wordt weergegeven in de volgende afbeelding. Zie Een omgeving voor een project selecteren voor meer informatie.
Projectsjablonen
Visual Studio biedt u veel manieren om een Python-project in te stellen, helemaal zelf of vanuit bestaande code. Als u een sjabloon wilt gebruiken, selecteert u Bestand>nieuw>project of klikt u met de rechtermuisknop op de oplossing in Solution Explorer en selecteert uNieuw project>. In het nieuwe projectdialoogvenster ziet u Python-specifieke sjablonen door te zoeken in Python of door hetPython-knooppunt> te selecteren:
De volgende sjablonen zijn beschikbaar in Visual Studio versie 2022.
| Template | Description |
|---|---|
| Uit bestaande Python-code | Hiermee maakt u een Visual Studio-project op basis van bestaande Python-code in een mapstructuur. |
| Python-toepassing | Biedt een basisprojectstructuur voor een nieuwe Python-toepassing met één leeg bronbestand. Standaard wordt het project uitgevoerd in de console-interpreter van de standaard globale omgeving. U kunt een andere omgeving instellen. |
| Webprojecten | Projecten voor web-apps op basis van verschillende frameworks, waaronder Bottle, Django en Flask. |
| Achtergrondapplicatie (IoT) | Ondersteunt het implementeren van Python-projecten voor uitvoering als achtergrondservices op apparaten. Zie het Windows IoT Dev Center voor meer informatie. |
| Python-extensiemodule | Deze sjabloon wordt weergegeven onder Visual C++ als u de systeemeigen Python-ontwikkelhulpprogramma's installeert met de Python-workload in Visual Studio 2017 of hoger (zie Installatie). De sjabloon biedt de kernstructuur voor een C++-extensie-DLL, vergelijkbaar met de structuur die wordt beschreven in Een C++-extensie maken voor Python. |
De volgende sjablonen zijn beschikbaar in Visual Studio versie 2019. Niet alle sjablonen die beschikbaar zijn in versie 2019, zijn beschikbaar in eerdere versies van Visual Studio.
| Template | Description |
|---|---|
| Uit bestaande Python-code | Hiermee maakt u een Visual Studio-project op basis van bestaande Python-code in een mapstructuur. |
| Python-toepassing | Biedt een basisprojectstructuur voor een nieuwe Python-toepassing met één leeg bronbestand. Standaard wordt het project uitgevoerd in de console-interpreter van de standaard globale omgeving. U kunt een andere omgeving toewijzen. |
| Webprojecten | Projecten voor web-apps op basis van verschillende frameworks, waaronder Bottle, Django en Flask. |
| Achtergrondtoepassing (IoT) | Ondersteunt het implementeren van Python-projecten voor uitvoering als achtergrondservices op apparaten. Zie het Windows IoT Dev Center voor meer informatie. |
| Python-extensiemodule | Deze sjabloon wordt weergegeven onder Visual C++ als u de systeemeigen Python-ontwikkelhulpprogramma's installeert met de Python-workload in Visual Studio 2017 of hoger (zie Installatie). De sjabloon biedt de kernstructuur voor een C++-extensie-DLL, vergelijkbaar met de structuur die wordt beschreven in Een C++-extensie maken voor Python. |
| IronPython-toepassing | Maakt standaard gebruik van IronPython en biedt .NET-interoperabiliteit en foutopsporing in gemengde modus met .NET-talen. Deze sjabloon is vergelijkbaar met de Python-toepassingssjabloon. |
| IronPython WPF-toepassing | Biedt een projectstructuur met behulp van IronPython met Windows Presentation Foundation XAML-bestanden voor de gebruikersinterface van de toepassing. Visual Studio biedt een XAML UI-ontwerper, code-behind kan worden geschreven in Python en de toepassing wordt uitgevoerd zonder een console weer te geven. |
| IronPython Silverlight-webpagina | Hiermee maakt u een IronPython-project dat in een browser wordt uitgevoerd met behulp van Silverlight. De Python-code van de toepassing wordt als script opgenomen op de webpagina. Een standaardscripttag haalt JavaScript-code op om IronPython te initialiseren die wordt uitgevoerd in Silverlight, waaruit uw Python-code kan communiceren met de DOM. |
| IronPython Windows Forms applicatie | Hiermee bouwt u een projectstructuur met IronPython en ui die is gemaakt met behulp van code met Windows Forms. De toepassing wordt uitgevoerd zonder een console weer te geven. |
Opmerking
Omdat Python een geïnterpreteerde taal is, produceren Python-projecten in Visual Studio geen zelfstandig uitvoerbaar bestand, zoals andere gecompileerde taalprojecten zoals C#. Zie vragen en antwoorden voor meer informatie.
Een project maken op basis van bestaande bestanden
Volg deze stappen om een project te maken op basis van bestaande bestanden.
Belangrijk
Het volgende proces verplaatst of kopieert geen oorspronkelijke bronbestanden. Als u met een kopie van uw bestanden wilt werken, moet u eerst de map dupliceren en vervolgens het project maken.
Start Visual Studio en selecteer Bestand>Nieuw>Project.
Zoek in het dialoogvenster Een nieuw project maken naar python en selecteer de Bestaande Python-code sjabloon en selecteer Volgende.
Voer in het dialoogvenster Uw nieuwe project configureren een projectnaam en - locatie in, kies de oplossing die het project moet bevatten en selecteer Maken.
Stel in de wizard Nieuw project maken op basis van bestaande Python-code het mappad in op uw bestaande code, stel een filter voor bestandstypen in en geef alle zoekpaden op die uw project nodig heeft en selecteer vervolgens Volgende. Als u de zoekpaden niet kent, laat u het veld leeg.
Selecteer op de volgende pagina het opstartbestand voor uw project. Visual Studio selecteert de standaard globale Python-interpreter en -versie. U kunt de omgeving wijzigen met behulp van de vervolgkeuzelijst. Wanneer u klaar bent, selecteert u Volgende.
Opmerking
In het dialoogvenster worden alleen bestanden in de hoofdmap weergegeven. Als het gewenste bestand zich in een submap bevindt, laat u het opstartbestand leeg. U kunt het opstartbestand instellen in Solution Explorer, zoals beschreven in een latere stap.
Selecteer de locatie voor het opslaan van het projectbestand (een .pyproj-bestand op schijf). Indien van toepassing, kunt u ook automatische detectie van virtuele omgevingen opnemen en het project aanpassen voor verschillende webframeworks. Als u niet zeker weet wat deze opties zijn, laat u de velden ingesteld op de standaardwaarden.
Selecteer en voltooi.
Visual Studio maakt het project en opent het in Solution Explorer. Als u het .pyproj-bestand naar een andere locatie wilt verplaatsen, selecteert u het bestand in Solution Exploreren selecteertu >Opslaan als op de werkbalk. Met deze actie worden bestandsverwijzingen in het project bijgewerkt, maar worden er geen codebestanden verplaatst.
Als u een ander opstartbestand wilt instellen, zoekt u het bestand in Solution Explorer, klikt u met de rechtermuisknop op het bestand en selecteert u Instellen als opstartbestand.
Gekoppelde bestanden
Gekoppelde bestanden zijn bestanden die in een project worden gebracht, maar zich meestal buiten de projectmappen van de toepassing bevinden. Deze bestanden worden in Solution Explorer weergegeven als normale bestanden met een overlappend snelkoppelingspictogram:
Gekoppelde bestanden worden in het .pyproj bestand opgegeven met behulp van het <Compile Include="..."> element. Gekoppelde bestanden zijn impliciet als ze een relatief pad buiten de mapstructuur gebruiken. Als de bestanden paden gebruiken in Solution Explorer, zijn de gekoppelde bestanden expliciet. In het volgende voorbeeld ziet u expliciet gekoppelde bestanden:
<Compile Include="..\test2.py">
<Link>MyProject\test2.py</Link>
</Compile>
Gekoppelde bestanden worden onder de volgende voorwaarden genegeerd:
- Het gekoppelde bestand bevat
Linkmetagegevens en het pad dat is opgegeven in hetIncludekenmerk, bevindt zich in de projectmap. - Met het gekoppelde bestand wordt een bestand gedupliceerd dat in de projecthiërarchie bestaat.
- Het gekoppelde bestand bevat
Linkmetagegevens en hetLinkpad is een relatief pad buiten de projecthiërarchie. - Het koppelingpad is geworteld.
Werken met gekoppelde bestanden
Als u een bestaand item als koppeling wilt toevoegen, klikt u met de rechtermuisknop op de map in het project waar u het bestand wilt toevoegen en selecteert uBestaand item>. Selecteer een bestand in het dialoogvenster en selecteer vervolgens Toevoegen>als koppeling. Als er geen conflicterende bestanden zijn, maakt deze opdracht een koppeling in de geselecteerde map. De koppeling wordt echter niet toegevoegd als er een bestaand bestand met dezelfde naam of een koppeling naar dat bestand al in het project bestaat.
Als u probeert een koppeling te maken naar een bestand dat al in de projectmappen bestaat, wordt het bestand toegevoegd als een normaal bestand en niet als koppeling. Als u een bestand wilt converteren naar een koppeling, selecteert u Bestand>opslaan als om het bestand op te slaan op een locatie buiten de projecthiërarchie. Visual Studio converteert het bestand automatisch naar een koppeling. Op dezelfde manier kan een koppeling worden geconverteerd met behulp van File>Save As om het bestand ergens in de projecthiërarchie op te slaan.
Als u een gekoppeld bestand verplaatst in Solution Explorer, wordt de koppeling verplaatst, maar wordt het daadwerkelijke bestand niet beïnvloed. Als u een koppeling verwijdert, wordt de koppeling ook verwijderd zonder dat dit van invloed is op het bestand.
De naam van gekoppelde bestanden kan niet worden gewijzigd.
References
Visual Studio-projecten ondersteunen het toevoegen van verwijzingen naar projecten en extensies, die worden weergegeven onder het knooppunt Verwijzingen in Solution Explorer:
Extensieverwijzingen geven doorgaans afhankelijkheden tussen projecten aan en worden gebruikt om IntelliSense te leveren tijdens het ontwerpen of koppelen tijdens het compileren. Python-projecten gebruiken verwijzingen op een vergelijkbare manier, maar vanwege de dynamische aard van Python worden ze voornamelijk gebruikt tijdens het ontwerp om verbeterde IntelliSense te bieden. Ze kunnen ook worden gebruikt voor implementatie in Microsoft Azure om andere afhankelijkheden te installeren.
Werken met extensiemodules
Een verwijzing naar een .pyd bestand maakt IntelliSense mogelijk voor de gegenereerde module. Visual Studio laadt het .pyd bestand in de Python-interpreter en introspecteert de typen en functies. Visual Studio probeert ook de doc-tekenreeksen te parseren voor functies om handtekeningondersteuning te bieden.
Als de extensiemodule op elk gewenst moment op schijf wordt bijgewerkt, wordt de module in Visual Studio op de achtergrond opnieuwanalyseert. Deze actie heeft geen effect op runtimegedrag, maar sommige voltooiingen zijn pas beschikbaar als de analyse is voltooid.
Mogelijk moet u ook een zoekpad toevoegen aan de map die de module bevat.
Werken met .NET-projecten
Wanneer u met IronPython werkt, kunt u verwijzingen toevoegen aan .NET-assembly's om IntelliSense in te schakelen. Voor .NET-projecten in uw oplossing klikt u met de rechtermuisknop op het knooppunt Verwijzingen in uw Python-project en selecteert u Verwijzing toevoegen. Selecteer in het dialoogvenster het tabblad Projecten en blader naar het gewenste project. Voor DLL's die u afzonderlijk hebt gedownload, selecteert u in plaats daarvan het tabblad Bladeren en bladert u naar de gewenste DLL.
Omdat verwijzingen in IronPython pas na een aanroep naar de clr.AddReference('<AssemblyName>') methode beschikbaar zijn, moet u ook een geschikte clr.AddReference methodeaanroep toevoegen aan de assembly. Deze aanroep wordt meestal toegevoegd aan het begin van uw code. De code die is gemaakt door de IronPython Windows Forms Application -projectsjabloon (beschikbaar in Visual Studio 2019) bevat bijvoorbeeld twee aanroepen boven aan het bestand:
import clr
clr.AddReference('System.Drawing')
clr.AddReference('System.Windows.Forms')
from System.Drawing import *
from System.Windows.Forms import *
# Other code omitted
Werken met WebPI-projecten
U kunt verwijzingen toevoegen naar webplatforminstallatieprogramma's (WebPI) voor implementatie naar Microsoft Azure Cloud Services, waar u meer onderdelen kunt installeren via de WebPI-feed. De weergegeven feed is standaard Python-specifiek en bevat Django, CPython en andere kernonderdelen. U kunt ook uw eigen feed selecteren, zoals wordt weergegeven in de volgende afbeelding. Wanneer u publiceert naar Microsoft Azure, installeert een installatietaak alle producten waarnaar wordt verwezen.
Belangrijk
WebPI-projecten zijn niet beschikbaar in Visual Studio 2017 of Visual Studio 2019.