Projekty języka Python w programie Visual Studio

Aplikacje języka Python są zwykle definiowane przy użyciu tylko folderów i plików. Ta struktura może stać się złożona, gdy aplikacje rosną i mogą obejmować automatycznie wygenerowane pliki, javaScript dla aplikacji internetowych itd. Projekt programu Visual Studio może pomóc w zarządzaniu złożonością. Projekt ( .pyproj plik) identyfikuje wszystkie pliki źródłowe i zawartości skojarzone z projektem. Zawiera on informacje o kompilacji dla każdego pliku, utrzymuje informacje w celu integracji z systemami kontroli źródła i pomaga organizować aplikację w składniki logiczne.

Zrzut ekranu przedstawiający projekt języka Python otwarty w Eksplorator rozwiązań w programie Visual Studio.

Projekty są zawsze zarządzane w ramach rozwiązania programu Visual Studio. Rozwiązanie może zawierać dowolną liczbę projektów, które mogą się odwoływać do siebie, na przykład projekt języka Python, który odwołuje się do projektu C++, który implementuje moduł rozszerzenia. Dzięki tej relacji program Visual Studio automatycznie kompiluje projekt C++ (w razie potrzeby) podczas debugowania projektu w języku Python. Aby uzyskać więcej informacji, zobacz Rozwiązania i projekty w programie Visual Studio.

Program Visual Studio udostępnia różne szablony projektów języka Python, aby szybko tworzyć kilka typów struktur aplikacji. Możesz wybrać szablon, aby utworzyć projekt z istniejącego drzewa folderów lub utworzyć czysty, pusty projekt. Aby uzyskać listę dostępnych szablonów, zobacz tabelę w sekcji Szablony projektów.

Wskazówki do pracy z projektami języka Python

Nie musisz używać projektów do uruchamiania kodu w języku Python w programie Visual Studio, ale istnieją pewne korzyści. Podczas rozpoczynania pracy zapoznaj się z następującymi zagadnieniami dotyczącymi pracy z projektami i językiem Python.

  • W programie Visual Studio 2019 lub nowszym można otworzyć folder zawierający kod języka Python i uruchomić go bez tworzenia plików projektu i rozwiązania programu Visual Studio.

    Kroki z przewodnikiem dotyczące tego podejścia są dostępne w artykule Szybki start: otwieranie i uruchamianie kodu języka Python w folderze .

  • Nie potrzebujesz projektu, aby uruchomić kod języka Python w programie Visual Studio. Wszystkie wersje programu Visual Studio działają dobrze z kodem języka Python.

    Plik języka Python można otwierać samodzielnie i natychmiast uzyskiwać dostęp do funkcji autouzupełniania, funkcji IntelliSense i debugowania. Istnieją jednak pewne potencjalne wady pracy z kodem bez projektu:

    • Ponieważ kod zawsze używa domyślnego środowiska globalnego, może być widoczne niepoprawne uzupełnianie lub błędy, jeśli kod jest przeznaczony dla innego środowiska.
    • Program Visual Studio analizuje wszystkie pliki i pakiety w folderze, z którego jest otwierany pojedynczy plik. Ten proces może zużywać dużo czasu procesora CPU.
  • Projekt programu Visual Studio można utworzyć na podstawie istniejącego kodu. To podejście zostało opisane w sekcji Tworzenie projektu z istniejących plików .

Podstawowe zadania projektu: pliki, środowiska i uruchamianie

W przypadku korzystania z projektów z kodem języka Python należy wykonywać podstawowe zadania, w tym dodawać pliki, przypisywać plik startowy i ustawiać środowisko interpretera języka Python.

Podczas opracowywania aplikacji zazwyczaj trzeba dodawać nowe pliki różnych typów do projektu. Dodawanie większej liczby plików jest łatwe. Kliknij prawym przyciskiem myszy projekt, wybierz pozycję Dodaj>istniejący element i przejdź, aby znaleźć typ pliku do dodania. Opcja Dodaj>nowy element otwiera okno dialogowe zawierające szablony elementów, których można użyć do utworzenia nowego pliku. Opcje obejmują puste pliki języka Python, klasę języka Python, test jednostkowy i różne pliki związane z aplikacjami internetowymi. Opcje szablonu można eksplorować przy użyciu projektu testowego, aby dowiedzieć się, co jest dostępne w wersji programu Visual Studio. Aby uzyskać więcej informacji, zobacz dokumentację szablonów elementów.

Każdy projekt w języku Python ma jeden przypisany plik startowy, który jest wyświetlany pogrubioną czcionką w Eksplorator rozwiązań. Plik startowy jest uruchamiany po rozpoczęciu debugowania (wybierając pozycję F5 lub Debuguj>rozpocznij debugowanie) lub po uruchomieniu projektu w oknie Interaktywny. Możesz otworzyć to okno za pomocą skrótu klawiaturowego Shift + Alt + F5 lub wybierając pozycję Debuguj>projekt wykonywania w języku Python Interactive. Aby zmienić plik startowy, kliknij prawym przyciskiem myszy plik do użycia i wybierz polecenie Ustaw jako element startowy (lub Ustaw jako plik startowy w starszych wersjach programu Visual Studio).

Jeśli usuniesz wybrany plik startowy z projektu i nie wybierzesz alternatywnego pliku, program Visual Studio nie wie, jakiego pliku języka Python użyć do uruchomienia projektu. W takim przypadku program Visual Studio 2017 w wersji 15.6 lub nowszej wyświetla błąd. Wcześniejsze wersje otwierają okno danych wyjściowych z uruchomionym interpreterem języka Python lub zostanie otwarte okno danych wyjściowych, a następnie natychmiast zostanie zamknięte. Jeśli napotkasz jakiekolwiek z tych zachowań, sprawdź, czy masz przypisany plik startowy.

Napiwek

Aby zachować otwarte okno danych wyjściowych, kliknij prawym przyciskiem myszy projekt i wybierz polecenie Właściwości. W oknie dialogowym wybierz kartę Debugowanie , a następnie dodaj flagę -i do pola Argumenty interpretera . Ten argument powoduje przejście interpretera do trybu interaktywnego po zakończeniu programu. Okno pozostaje otwarte do momentu jego zamknięcia, na przykład za pomocą skrótu klawiaturowego Ctrl+E+Enter.

Nowy projekt jest zawsze skojarzony z domyślnym globalnym środowiskiem języka Python. Aby skojarzyć projekt z innym środowiskiem (w tym środowiskami wirtualnymi), kliknij prawym przyciskiem myszy węzeł Środowiska języka Python w projekcie. Wybierz pozycję Dodaj środowisko , a następnie wybierz żądane środowiska. Możesz również użyć kontrolki listy rozwijanej środowiska na pasku narzędzi, aby wybrać środowisko lub dodać inne środowisko do projektu.

Zrzut ekranu przedstawiający polecenie Dodaj środowisko na pasku narzędzi języka Python w programie Visual Studio.

Aby zmienić aktywne środowisko, kliknij prawym przyciskiem myszy żądane środowisko w Eksplorator rozwiązań i wybierz pozycję Aktywuj środowisko, jak pokazano na poniższej ilustracji. Aby uzyskać więcej informacji, zobacz Wybieranie środowiska dla projektu.

Zrzut ekranu przedstawiający sposób aktywowania środowiska dla projektu języka Python w programie Visual Studio.

Szablony projektu

Program Visual Studio oferuje wiele sposobów konfigurowania projektu w języku Python — od podstaw lub z istniejącego kodu. Aby użyć szablonu, wybierz pozycję Plik>nowy>projekt lub kliknij prawym przyciskiem myszy rozwiązanie w Eksplorator rozwiązań i wybierz polecenie Dodaj>nowy projekt. W oknie dialogowym nowego projektu można wyświetlić szablony specyficzne dla języka Python, wyszukując język Python lub wybierając węzeł Język>Python:

Zrzut ekranu przedstawiający okno dialogowe nowego projektu z dostępnymi szablonami języka Python w programie Visual Studio.

Następujące szablony są dostępne w programie Visual Studio w wersji 2022.

Szablon opis
Z istniejącego kodu w języku Python Tworzy projekt programu Visual Studio na podstawie istniejącego kodu w języku Python w strukturze folderów.
Aplikacja w języku Python Udostępnia podstawową strukturę projektu dla nowej aplikacji języka Python z pojedynczym pustym plikiem źródłowym. Domyślnie projekt jest uruchamiany w interpreterze konsoli domyślnego środowiska globalnego. Możesz zmienić przypisanie innego środowiska.
Projekty internetowe Projekty dla aplikacji internetowych oparte na różnych strukturach, w tym Bottle, Django i Flask.
Aplikacja w tle (IoT) Obsługuje wdrażanie projektów języka Python w celu uruchamiania jako usług w tle na urządzeniach. Aby uzyskać więcej informacji, zobacz windows IoT Centrum deweloperów.
Moduł rozszerzenia języka Python Ten szablon jest wyświetlany w programie Visual C++ w przypadku zainstalowania natywnych narzędzi programistycznych języka Python z obciążeniem języka Python w programie Visual Studio 2017 lub nowszym (zobacz Instalacja). Szablon zawiera podstawową strukturę biblioteki DLL rozszerzenia języka C++, podobnie jak struktura opisana w temacie Tworzenie rozszerzenia języka C++ dla języka Python.

Następujące szablony są dostępne w programie Visual Studio w wersji 2019. Nie wszystkie szablony dostępne w wersji 2019 są dostępne we wcześniejszych wersjach programu Visual Studio.

Szablon opis
Z istniejącego kodu w języku Python Tworzy projekt programu Visual Studio na podstawie istniejącego kodu w języku Python w strukturze folderów.
Aplikacja w języku Python Udostępnia podstawową strukturę projektu dla nowej aplikacji języka Python z pojedynczym pustym plikiem źródłowym. Domyślnie projekt jest uruchamiany w interpreterze konsoli domyślnego środowiska globalnego. Możesz zmienić przypisanie innego środowiska.
Projekty internetowe Projekty dla aplikacji internetowych oparte na różnych strukturach, w tym Bottle, Django i Flask.
Aplikacja w tle (IoT) Obsługuje wdrażanie projektów języka Python w celu uruchamiania jako usług w tle na urządzeniach. Aby uzyskać więcej informacji, zobacz windows IoT Centrum deweloperów.
Moduł rozszerzenia języka Python Ten szablon jest wyświetlany w programie Visual C++ w przypadku zainstalowania natywnych narzędzi programistycznych języka Python z obciążeniem języka Python w programie Visual Studio 2017 lub nowszym (zobacz Instalacja). Szablon zawiera podstawową strukturę biblioteki DLL rozszerzenia języka C++, podobnie jak struktura opisana w temacie Tworzenie rozszerzenia języka C++ dla języka Python.
Aplikacja IronPython Domyślnie używa środowiska IronPython i włącza międzyoperacyjności platformy .NET i debugowanie w trybie mieszanym za pomocą języków platformy .NET. Ten szablon jest podobny do szablonu aplikacji języka Python.
Aplikacja IronPython WPF Udostępnia strukturę projektu przy użyciu biblioteki IronPython z plikami XAML programu Windows Presentation Foundation dla interfejsu użytkownika aplikacji. Program Visual Studio udostępnia projektanta interfejsu użytkownika XAML, który można napisać w języku Python, a aplikacja działa bez wyświetlania konsoli.
Strona internetowa IronPython Silverlight Tworzy projekt IronPython uruchamiany w przeglądarce przy użyciu programu Silverlight. Kod języka Python aplikacji jest dołączany do strony internetowej jako skrypt. Standardowy tag skryptu ściąga kod JavaScript w celu zainicjowania środowiska IronPython działającego wewnątrz programu Silverlight, z którego kod języka Python może wchodzić w interakcję z elementem DOM.
Aplikacja IronPython Windows Forms Tworzy strukturę projektu za pomocą biblioteki IronPython i interfejsu użytkownika utworzonego przy użyciu kodu z formularzami systemu Windows. Aplikacja jest uruchamiana bez wyświetlania konsoli.

Uwaga

Ponieważ język Python jest językiem interpretowanym, projekty języka Python w programie Visual Studio nie tworzą autonomicznego pliku wykonywalnego, takiego jak inne kompilowane projekty językowe, takie jak C#. Aby uzyskać więcej informacji, zobacz pytania i odpowiedzi.

Tworzenie projektu na podstawie istniejących plików

Wykonaj następujące kroki, aby utworzyć projekt na podstawie istniejących plików.

Ważne

Poniższy proces nie przenosi ani nie kopiuje żadnych oryginalnych plików źródłowych. Jeśli chcesz pracować z kopią plików, najpierw zduplikuj folder, a następnie utwórz projekt.

  1. Uruchom program Visual Studio, a następnie wybierz pozycję Plik>Nowy>Projekt.

  2. W oknie dialogowym Tworzenie nowego projektu wyszukaj język Python i wybierz szablon Z istniejącego kodu języka Python, a następnie wybierz pozycję Dalej.

  3. W oknie dialogowym Konfigurowanie nowego projektu wprowadź nazwę projektu i lokalizację, wybierz rozwiązanie, które ma zawierać projekt, a następnie wybierz pozycję Utwórz.

  4. W kreatorze Create New Project from Existing Python Code (Tworzenie nowego projektu z istniejącego kodu języka Python) ustaw ścieżkę Folderu na istniejący kod, ustaw filtr dla typów plików i określ ścieżkiwyszukiwania wymagane przez projekt, a następnie wybierz przycisk Dalej. Jeśli nie znasz ścieżek wyszukiwania, pozostaw pole puste.

    Zrzut ekranu przedstawiający tworzenie nowego projektu z istniejącego kodu, w tym wybór ścieżki folderu, filtrów typu pliku i ścieżek wyszukiwania.

  5. Na następnej stronie wybierz plik startowy projektu. Program Visual Studio wybiera domyślny globalny interpreter i wersję języka Python. Środowisko można zmienić przy użyciu menu rozwijanego. Gdy wszystko będzie gotowe, wybierz pozycję Dalej.

    Uwaga

    W oknie dialogowym są wyświetlane tylko pliki w folderze głównym. Jeśli żądany plik znajduje się w podfolderze, pozostaw plik startowy pusty. Plik startowy można ustawić w Eksplorator rozwiązań zgodnie z opisem w późniejszym kroku.

    Zrzut ekranu przedstawiający okno Tworzenie nowego projektu z istniejącego kodu, w tym wybieranie pliku startowego i środowiska języka Python.

  6. Wybierz lokalizację do przechowywania pliku projektu ( plik pyproj na dysku). Jeśli ma to zastosowanie, możesz również uwzględnić autodetection środowisk wirtualnych i dostosować projekt dla różnych struktur internetowych. Jeśli nie masz pewności co do tych opcji, pozostaw pola ustawione na wartości domyślne.

    Zrzut ekranu przedstawiający okno Tworzenie nowego projektu z istniejącego kodu, w tym lokalizację pliku projektu i inne ustawienia opcjonalne.

  7. Wybierz Zakończ.

    Program Visual Studio tworzy projekt i otwiera go w Eksplorator rozwiązań. Jeśli chcesz przenieść plik pyproj do innej lokalizacji, wybierz plik w Eksplorator rozwiązań, a następnie wybierz pozycję Zapisz plik>jako na pasku narzędzi. Ta akcja aktualizuje odwołania do plików w projekcie, ale nie przenosi żadnych plików kodu.

  8. Aby ustawić inny plik startowy, znajdź plik w Eksplorator rozwiązań, kliknij go prawym przyciskiem myszy i wybierz polecenie Ustaw jako plik startowy.

Połączone pliki

Połączone pliki to pliki, które są wprowadzane do projektu, ale zazwyczaj znajdują się poza folderami projektu aplikacji. Te pliki są wyświetlane w Eksplorator rozwiązań jak zwykłe pliki z nałożoną ikoną skrótu:

Połączone pliki są określane w .pyproj pliku przy użyciu <Compile Include="..."> elementu . Połączone pliki są niejawne , jeśli używają ścieżki względnej poza strukturą katalogu. Jeśli pliki używają ścieżek w Eksplorator rozwiązań, połączone pliki są jawne. W poniższym przykładzie przedstawiono jawnie połączone pliki:

<Compile Include="..\test2.py">
    <Link>MyProject\test2.py</Link>
</Compile>

Połączone pliki są ignorowane w następujących warunkach:

  • Połączony plik zawiera Link metadane i ścieżkę określoną w atrybucie Include w katalogu projektu.
  • Połączony plik duplikuje plik, który istnieje w hierarchii projektu.
  • Połączony plik zawiera Link metadane, a Link ścieżka jest ścieżką względną poza hierarchią projektu.
  • Ścieżka łącza jest zakorzeniona.

Praca z połączonymi plikami

Aby dodać istniejący element jako link, kliknij prawym przyciskiem myszy folder w projekcie, w którym chcesz dodać plik, a następnie wybierz polecenie Dodaj>istniejący element. W oknie dialogowym wybierz plik, a następnie wybierz pozycję Dodaj>jako łącze. Jeśli nie ma plików powodujących konflikt, to polecenie tworzy link w wybranym folderze. Jednak link nie jest dodawany, jeśli istnieje istniejący plik o tej samej nazwie lub link do tego pliku już istnieje w projekcie.

Jeśli próbujesz połączyć się z plikiem, który już istnieje w folderach projektu, plik zostanie dodany jako zwykły plik, a nie jako link. Aby przekonwertować plik na link, wybierz pozycję Plik>Zapisz jako , aby zapisać plik w lokalizacji poza hierarchią projektu. Program Visual Studio automatycznie konwertuje plik na link. Podobnie można przekonwertować link z powrotem przy użyciu funkcji Zapisz jako pliku>, aby zapisać plik w hierarchii projektu.

Jeśli przeniesiesz połączony plik w Eksplorator rozwiązań, link zostanie przeniesiony, ale rzeczywisty plik nie będzie miał wpływu. Podobnie usunięcie linku powoduje usunięcie linku bez wpływu na plik.

Nie można zmienić nazwy połączonych plików.

Informacje

Projekty programu Visual Studio obsługują dodawanie odwołań do projektów i rozszerzeń, które są wyświetlane w węźle Odwołania w Eksplorator rozwiązań:

Zrzut ekranu przedstawiający sposób dodawania odwołania do rozszerzenia w projektach języka Python w programie Visual Studio.

Odwołania do rozszerzeń zwykle wskazują zależności między projektami i są używane do zapewnienia funkcji IntelliSense w czasie projektowania lub łączenia w czasie kompilacji. Projekty języka Python używają odwołań w podobny sposób, ale ze względu na dynamiczny charakter języka Python są one używane głównie w czasie projektowania w celu zapewnienia ulepszonej funkcji IntelliSense. Można ich również użyć do wdrożenia na platformie Microsoft Azure w celu zainstalowania innych zależności.

Praca z modułami rozszerzeń

Odwołanie do .pyd pliku włącza funkcję IntelliSense dla wygenerowanego modułu. Program Visual Studio ładuje .pyd plik do interpretera języka Python i wprowadza jego typy i funkcje. Program Visual Studio próbuje również przeanalizować ciągi dokumentu dla funkcji w celu zapewnienia pomocy dotyczącej podpisu.

Jeśli w dowolnym momencie moduł rozszerzenia zostanie zaktualizowany na dysku, program Visual Studio ponownie zanalizuje moduł w tle. Ta akcja nie ma wpływu na zachowanie w czasie wykonywania, ale niektóre uzupełnienia nie są dostępne do momentu ukończenia analizy.

Może być również konieczne dodanie ścieżki wyszukiwania do folderu zawierającego moduł.

Praca z projektami platformy .NET

Podczas pracy z platformą IronPython można dodawać odwołania do zestawów platformy .NET w celu włączenia funkcji IntelliSense. W przypadku projektów .NET w rozwiązaniu kliknij prawym przyciskiem myszy węzeł Odwołania w projekcie języka Python i wybierz polecenie Dodaj odwołanie. W oknie dialogowym wybierz kartę Projekty i przejdź do żądanego projektu. W przypadku pobranych oddzielnie bibliotek DLL wybierz kartę Przeglądaj , a następnie przejdź do żądanej biblioteki DLL.

Ponieważ odwołania w narzędziu IronPython nie są dostępne dopiero po wywołaniu clr.AddReference('<AssemblyName>') metody, należy również dodać odpowiednie clr.AddReference wywołanie metody do zestawu. To wywołanie jest zwykle dodawane na początku kodu. Na przykład kod utworzony przez aplikację IronPython Windows Forms ( dostępny w programie Visual Studio 2019) szablon projektu w programie Visual Studio zawiera dwa wywołania w górnej części pliku:

import clr
clr.AddReference('System.Drawing')
clr.AddReference('System.Windows.Forms')

from System.Drawing import *
from System.Windows.Forms import *

# Other code omitted

Praca z projektami interfejsu WebPI

Możesz dodać odwołania do wpisów produktu Instalatora platformy internetowej (WebPI) na potrzeby wdrożenia do usług Microsoft Azure Cloud Services, gdzie można zainstalować więcej składników za pośrednictwem kanału informacyjnego webPI. Domyślnie wyświetlane źródło danych jest specyficzne dla języka Python i zawiera składniki Django, CPython i inne podstawowe składniki. Możesz również wybrać własne źródło danych, jak pokazano na poniższej ilustracji. Podczas publikowania na platformie Microsoft Azure zadanie instalacji instaluje wszystkie produkty, do których się odwołujesz.

Ważne

Projekty WebPI nie są dostępne w programie Visual Studio 2017 lub Visual Studio 2019.

Zrzut ekranu przedstawiający odwołania Instalatora platformy internetowej (WebPI) w programie Visual Studio.