Создайте свой первый открытый проект python

Расположения установки

По умолчанию поддержка Python устанавливается для всех пользователей на компьютере.

В Visual Studio 2019 и Visual Studio 2017 рабочая нагрузка Python устанавливается в каталог %ProgramFiles(x86)%\Microsoft Visual Studio\<версия_Visual_Studio>\<выпуск_Visual_Studio>Common7\IDE\Extensions\Microsoft\Python, где <версия_Visual_Studio> — это 2019 или 2017, а <выпуск_Visual_Studio> — Community, Professional или Enterprise.

В Visual Studio 2015 и более ранних версиях используются такие пути установки:

  • 32-разрядная версия.
    • Путь: %Program Files(x86)%\Microsoft Visual Studio <VS_ver>\Common7\IDE\Extensions\Microsoft\Python Tools for Visual Studio\<версия_PTVS>
    • Расположение пути в реестре: HKEY_LOCAL_MACHINE\Software\Microsoft\PythonTools\<версия_Visual_Studio>\InstallDir
  • 64-разрядная версия.
    • Путь: %Program Files%\Microsoft Visual Studio <VS_ver>\Common7\IDE\Extensions\Microsoft\Python Tools for Visual Studio\<версия_PTVS>
    • Расположение пути в реестре: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\PythonTools\<версия_Visual_Studio>\InstallDir

Здесь:

  • <VS_ver> принимает одно из этих значений:
    • 14.0 for Visual Studio 2015
    • 12.0 for Visual Studio 2013
    • 11.0 for Visual Studio 2012
    • 10.0 for Visual Studio 2010
  • <PTVS_ver> — это номер версии, например 2.2.2, 2.1.1, 2.0, 1.5, 1.1 или 1.0.

Пользовательские установки (для версии 1.5 и более ранних)

Инструменты Python для Visual Studio 1.5 и более ранних версий можно установить только для текущего пользователя. Путь установки будет выглядеть так: %LocalAppData%\Microsoft\VisualStudio\<версия_Visual_Studio>\Extensions\Microsoft\Python Tools for Visual Studio\<версия_PTVS> . Здесь <версия_Visual_Studio> и <версия_PTVS> имеют то же значение, которое описано выше.

Редактируем мета-информацию (setup.py)

Заполним файл описания README.rst:

Description
===========

An example Hello World project.

Теперь отредактируем файл setup.py:

from setuptools import setup, find_packages
from os.path import join, dirname

setup(
    name='helloworld',
    version='1.0',
    packages=find_packages(),
    long_description=open(join(dirname(__file__), 'README.txt')).read(),
)

Note

Убедитесь, что в вашей системе доступны setuptools, в противном
случае установите python-пакет distribute

Этих операций достаточно, чтобы собрать пакет дистрибьюции. Выполните команду
сборки:

$ python setup.py sdist

Настройка среды разработки

При создании веб-приложений мы рекомендуем установить Python на WSL. Многие руководства и инструкции для разработки веб-приложений на Python написаны для пользователей Linux и поэтому они используют средства упаковки и установки на основе Linux. Большинство веб-приложений также развертываются в Linux, поэтому это обеспечит согласованность между рабочими средами и средами разработки.

Если вы используете Python не для разработки веб-приложений, мы рекомендуем установить Python непосредственно на Windows 10 с помощью Microsoft Store. WSL не поддерживает рабочих столов или приложения с графическим пользовательским интерфейсом (например, PyGame, Gnome, KDE и т. д.). В этих случаях установите и используйте Python непосредственно в Windows. Если у вас нет опыта работы в Python, ознакомьтесь с нашим руководством: Get started using Python on Windows for beginners (Приступая к работе с Python в Windows для начинающих). Если вы заинтересованы в автоматизации общих задач в операционной системе, ознакомьтесь с нашим руководством: Начало работы с Python в Windows для создания сценариев и автоматизации В некоторых расширенных сценариях может потребоваться загрузка определенного выпуска Python непосредственно из python.org или установка альтернативы, например Anaconda, Jython, PyPy, WinPython, IronPython и т. д. Мы рекомендуем это только в том случае, если вы более продвинутый программист на Python и у вас есть конкретная причина выбрать альтернативную реализацию.

Просмотр окружений

  1. Выберите команду меню Просмотр > Другие окна > Окружения Python. Откроется окно Окружения Python (как узел обозревателя решений), в котором представлены разные среды, доступные вам. Список содержит как среды, установленные с помощью установщика Visual Studio, так и среды, которые вы установили отдельно. В их число входят глобальные, виртуальные среды и среды Conda. Среда, выделенная полужирным шрифтом, — это среда, используемая по умолчанию для новых проектов. Дополнительные сведения о работе со средами см. в разделе Создание окружений Python и управление ими в средах Visual Studio.

    Observação

    Можно также открыть окно «Окружения Python», выбрав окно Обозревателя решений и нажав сочетание клавиш CTRL+K, CTRL+` . Если сочетание клавиш не работает и окно «Окружения Python» отсутствует в меню, возможно, не установлена рабочая нагрузка Python. Инструкции по установке Python см. в статье Установка поддержки Python в Visual Studio.

  2. На вкладке Обзор среды можно быстро получить доступ к интерактивному окну этой среды, а также к ее папке установки и интерпретаторам. Например, щелкните ссылку Открыть интерактивное окно, и в Visual Studio откроется интерактивное окно для этой среды.

  3. Теперь создайте проект, выбрав пункт меню Файл > Создать > Проект, а затем выбрав шаблон Приложение Python. В появившийся файл кода вставьте приведенный ниже код, который строит косинусоиду, как в предыдущих шагах учебника, но теперь в виде графика. Кроме того, можно использовать ранее созданный проект и заменить код.

  4. В открытом проекте Python можно открыть окно «Окружения Python» из Обозревателя решений, щелкнув правой кнопкой мыши Окружения Python и выбрав Просмотреть все окружения Python.

  5. Если в окне редактора вы наведете указатель мыши на операторы импорта и , вы заметите, что они не разрешены. Это связано с тем, что пакеты не были установлены в глобальную среду по умолчанию.

3 ответа

131

С установленным плагином Python перейдите к файлу > Структура проекта. В меню «Проект» для Project SDK выберите «Создать» и выберите «Python SDK», затем выберите «Local». Если у вас установлен SDK Python, поток должен быть естественным оттуда — перейдите к местоположению, в котором живет ваша установка Python.

16 июль 2014, в 00:01
Поделиться

Для пользователей Pycharm:

FileSettingsProject: MyProjectProject Interpreter

11 авг. 2017, в 19:10
Поделиться

Выполните следующие действия:

  • Открыть настройку (Ctrl + Alt + s)
  • Нажмите плагины
  • Найти репозитории и нажмите
  • Поиск «python»
  • Выберите Python SDK или pycharm
  • Перезапустите IDE
  • Перейти к структуре проекта
  • Выберите SDK python в проектах или создайте новый проект с SDK python.

17 июнь 2017, в 08:18
Поделиться

Ещё вопросы

  • Функция Javascript, работающая в JSFiddle, но не на моей локальной копии
  • 1Добавить второй столбец в существующий CSV, используя PHP
  • 1Проникнуть JSON-ответ по значению объекта
  • 2Приоритет пространства имен маршрутизации MVC5
  • Поместите div в абсолютную позицию внутри области печати медиа
  • Div позиционирования — Css
  • Как мне вложить объект JSON относительно другого объекта JSON?
  • 1Понимание разметки Android на нескольких устройствах
  • 1Android: редактирование SharedPreferences не работает
  • 2Определите, является ли свойство сложным объектом, используя PropertyDescriptor
  • 2<system.web> глобализация в ядре .net
  • 1Неявное намерение в том же приложении
  • MySQL Query — Join Subquery
  • 1Проблема с алгоритмом суммы вложенного списка
  • 1Может ли Java обрабатывать ошибки ADO
  • 2Оксиплот в RecyclerView -MVVMCross Xamarin.Android
  • 1Проблемы addEventListener на динамически создаваемой кнопке внутри цикла for
  • Проблемы с функцией ToUnicode и акцентами
  • Использование положения: исправлено, навигация не работает должным образом
  • 1ckeditor не может получить доступ к корневому каталогу IE9
  • Facebook как окно не работает, почему это?
  • Как суммировать количество обследованных домов из таблицы CodeIgniter и MySql
  • php mail form не отправляет электронную почту и приводит к ошибке 404
  • MySQL query — получить количество пользователей, которые разместили первый заказ в текущий период времени
  • 1Yii: как разрешить действию получить параметр get типа array?
  • Javascript код работает на ПК, но не на сайте учителя после загрузки
  • 2Динамически переключаться в состояние сеанса без файлов cookie asp.net?
  • Можно ли скомпилировать проект, созданный с помощью qmake, без использования qmake?
  • Хранить домен в одном месте в сервисе angular js
  • Используя JQuery, как мне многократно скрывать строки таблицы, если я хочу щелкнуть, чтобы скрыть одну за другой?
  • 1Конфигурация Symfony2 monolog: исключить предупреждающие сообщения из сообщений отладки
  • Как реализовать фильтр в AngularJS?
  • AngularJS: `{{x + ‘,’ + y}}` vs. «x`, `y«
  • 1Умножение огромное количество раз случайным () (Python)
  • компилируется вложенный цикл с тем же итератором, почему?
  • Простое кросс-браузерное решение HTML / CSS для размещения вложенного HTML-тега слева и родительского элемента справа
  • Почему мой веб-сайт не показывает горизонтальную полосу прокрутки при изменении размера?
  • C ++, как получить следующий многобайтовый символ
  • Как я могу масштабировать массив до нового массива другого размера
  • 1Простая анимация Java с использованием JFrame и JPanel
  • Неожиданная строка состояния: Y������ при использовании getInputStream () в HttpURLConnection
  • 1Легенда в круговой диаграмме D3
  • 1Проблема XLWT и XLRD — чтение и запись одновременно
  • 1Android ListView в качестве DirectoryListener и EditText (многострочный) в качестве TextEditor
  • 1Какая польза от пакетной обработки Hibernate
  • 1Почему getElementsByTagName () не работает для меня?
  • 1Способ поменять местами элементы карты
  • Дополнительные данные не передаются с помощью запроса JQuery POST
  • Почему я получаю этот результат, используя GROUP BY?

Создание TARGETS-файлов с пользовательскими командами

Пользовательские команды, определенные в файле проекта, доступны только этому файлу. Чтобы использовать команды в нескольких файлах проектов, следует определить группу свойств и все ваши элементы в файле TARGETS. Затем этот файл можно импортировать в отдельные файлы проектов.

Файл TARGETS имеет следующий формат:

Чтобы загрузить файл TARGETS в проект, расположите элемент в любом месте внутри элемента . Например, если у вас есть файл с именем CustomCommands.targets во вложенной папке targets в проекте, используйте следующий код:

Observação

При каждом изменении файла TARGETS нужно перезагружать решение, содержащее этот проект, а не только сам проект.

Тестирование в PyCharm

Без тестирования нельзя гарантировать надёжность работы любого приложения. PyCharm помогает быстро и комфортно написать и загрузить тесты. По-умолчанию используется , но кроме него можно использовать такие фреймворки, как , , , и . Например, для своего проекта можно выбрать :

  1. Откройте диалог настройки Settings/Preferences → Tools → Python Integrated Tools.
  2. Выберите в поле Default test runner.
  3. Нажмите OK для сохранения настроек.

В нашем примере мы будем использовать загрузчик теста по‑умолчанию .

В том же самом проекте, где записана игра, создайте файл с именем и запишите в него код класса :

class Calculator:
    def add(self, a, b):
        return a + b
    def multiply(self, a, b):
        return a * b

Для кода, открытого в редакторе, PyCharm позволяет очень легко создавать тесты. С открытым файлом выполните любое из следующих действий:

  • Нажмите Shift+Cmd+T на Mac или Ctrl+Shift+T на Windows или Linux.
  • Правой кнопкой мыши в поле редактирования выберите Go To и Test.
  • В основном меню проследуйте Navigate → Test.

Выберите Create New Test (Создать новый тест) и посмотрите на окно:

Значения полей Target directory (целевой каталог), Test file name (Имя файла теста) и Test class name (Имя класса теста) оставьте по‑умолчанию. Для тестирования отметьте оба метода и нажмите на OK. Вуаля! PyCharm автоматически создаст для вас файл с именем и заглушки для тестов:

from unittest import TestCase
class TestCalculator(TestCase):
    def test_add(self):
        self.fail()
    def test_multiply(self):
        self.fail()

Загрузите тест одним из следующих способов:

  • Нажмите Ctrl+R на Mac или Shift+F10 на Windows или Linux.
  • Щёлкните правой кнопкой мыши в поле редактирования и выберите Run ‘Unittests for test_calculator.py’.
  • Щёлкните на маленькой зелёной стрелке слева от имени класс теста и выберите Run ‘Unittests for test_calculator.py’.

Вы увидите открытое окно тестов со всеми ошибками:

Обратите внимание, что у вас есть иерархия результатов теста слева и терминал для вывода результатов справа. Теперь реализуем , изменив код на следующий:

Теперь реализуем , изменив код на следующий:

from unittest import TestCase
from calculator import Calculator
class TestCalculator(TestCase):
    def test_add(self):
        self.calculator = Calculator()
        self.assertEqual(self.calculator.add(3, 4), 7)
    def test_multiply(self):
        self.fail()

Запустите тесты еще раз и увидите, что один тест пройден, а другой нет. Изучите настройки теста, чтобы показывать пройденные тесты, проигнорированные тесты, сортировку тестов по алфавиту и по времени исполнения:

Обратите внимание, что метод , который вы видите на картинке выше, намеренно используется для замедления одного из тестов, чтобы показать, как работает сортировка по времени исполнения

2 ответа

Лучший ответ

Как правило, это плохая идея, поскольку она частично сводит на нет цель создания виртуальной среды. Ваша виртуальная среда будет содержать пакеты, специфичные для платформы и конфигурации машины, на которой она находится — вы могли бы разрабатывать Linux на одной машине и Windows на другой, и у вас были бы большие проблемы, чем просто одна строка в файле конфигурации.

Что ты должен делать:

  • создать виртуальную среду в папке за пределами вашего проекта / исходной папки.
  • предполагая, что вы используете , вы можете запустить , чтобы создать папку , которую затем можно использовать в другой системе с для воссоздания той же виртуальной среды .

Все, что вам нужно сделать, это поддерживать этот в актуальном состоянии и обновлять виртуальные среды на любом компьютере всякий раз, когда он изменяется, вместо того, чтобы загружать его через GitHub.

Более подробно простой пример (для Windows, очень похож на Linux):

  • создать папку проекта, например
  • создать виртуальную среду для проекта, например
  • активировать среду, т.е.
  • установить пакеты, например
  • сохранить, какие пакеты были установлены, в файл в , названный с
  • сохранить проект в репозитории Git, включая этот файл
  • на другой машине разработки, клонируйте или вытягивайте проект, например
  • на этой машине создайте новую виртуальную среду, например
  • активировать среду, т.е.
  • установить необходимые пакеты с

Поскольку вы говорите, что используете PyCharm, это все еще намного проще, просто убедитесь, что среда, созданная PyCharm, находится за пределами вашей папки проекта. Мне нравится хранить все мои виртуальные среды в одной папке с именами venv, соответствующими именам проектов.

Вы по-прежнему можете создать в своем проекте, и когда вы перетаскиваете проект на другой компьютер с PyCharm, просто сделайте то же самое: создайте venv вне папки проекта. PyCharm распознает, что в файле требований отсутствуют пакеты, и предложит установить их за вас.

Grismar
4 Янв 2021 в 06:37

Вы не должны хранить полный virtualenv в системе управления версиями, поскольку чаще всего он намного больше, чем ваш код, и там могут быть биты и бобы, специфичные для платформы и интерпретатора.

Вместо этого вам следует сохранить необходимые пакеты — испытанный и проверенный способ — это файл (но есть множество альтернатив, таких как Pyenv, Poetry, Dephell, …) — и воссоздать virtualenv для каждого машина, на которой нужно запустить проект.

Чтобы сохранить файл требований для уже существующего проекта, вы можете

Когда активен virtualenv.

Затем вы можете использовать

Чтобы установить именно эти пакеты.

В общем, мне нравится использовать pip-tools, поэтому я управляю только {{X0} } файл с именами требований к пакету, а утилита затем фиксирует эти требования с точными версиями в .

1

AKX
4 Янв 2021 в 06:31

Управление зависимостями

Добавим функциональности нашему проекту. Создадим команду serve которая будет запускать
вебсервер отдающий страницу со строкой «Hello world!» генерируемой нашим модулем. Для этого
воспользуемся пакетом Flask.

Добавляем файл helloworld/web.py:

from flask import Flask, render_template

from helloworld.core import get_message


app = Flask(__name__)


@app.route("/")
def hello():
    return render_template('index.html',
        message=get_message())


def run_server():
    app.run()

И файл helloworld/templates/index.html:

<!DOCTYPE HTML>
<body>`message`</body>

И опишем команду serve в файле setup.py:

...
entry_points={
   'console_scripts' 
       'helloworld = helloworld.core:print_message',
       'serve = helloworld.web:run_server',
       
   },
...

Теперь в нашем проекте появилась зависимость от пакета Flask. Без его установки наше приложение
не будет правильно работать. За описание зависимостей в файле setup.py отвечает параметр install_requires:

...
install_requires=
    'Flask==0.8'

Проверим установку зависимостей обновив наш пакет и работу команды serve:

$ ./env/bin/python setup.py develop
...
Processing dependencies for helloworld==0.1
Searching for Flask==0.8
...
$ serve
   * Running on http://127.0.0.1:5000/

Возможности профессиональной версии PyCharm

PyCharm Professional — это платная версия PyCharm с огромным количеством готовых функций и возможностей интеграции. В этом разделе, в основном, будет представлен обзор главных функций и ссылки на официальную документацию, где каждая функция подробно обсуждается. Помните, что ни одна из следующих функций не доступна в версии Community.

Поддержка Django

PyCharm поддерживает , один из самых популярных и любимых . Что бы убедиться в его доступности проделайте следующее:

  1. Откройте Preferences на Mac или Settings на Windows или Linux.
  2. Выберите Languages and Frameworks.
  3. Выберите Django.
  4. Проверьте установлена ли галочка на Enable Django support?Если нет, установите.
  5. Примените изменения.

Теперь, когда вы включили поддержку Django, ваше путешествие при разработке с Django станет наиболее приятным с PyCharm:

  • При создании проекта у вас будет выбран тип проекта Django. И это означает, что в проекте такого типа у вас будут все необходимые файлы и настройки. Это эквивалентно использованию .
  • Вы можете загрузить непосредственно из PyCharm.
  • Поддержка в шаблоне Django включает:
    • синтаксис и подсветку ошибок.
    • Автозавершение кода.
    • Навигацию.
    • Завершение имен блоков.
    • Завершение пользовательских тегов и фильтров.
    • Быстрый доступ к документации по тегам и фильтрам.
    • Возможность их отладки.
  • Автоавершение кода во всех других частях Django, таких как представления, URL‑адреса и модели, а также поддержка анализа кода для Django ORM.
  • Диаграммы зависимостей для моделей Django.

Более подробная информация о поддержке Django смотрите в .

Поддержка баз данных

Современная разработка баз данных — сложная задача со множеством вспомогательных систем и рабочих процессов. Вот почему JetBrains, компания, стоящая за PyCharm, разработала для этого отдельную IDE . Это отдельный продукт от PyCharm с отдельной лицензией.

К счастью, PyCharm поддерживает все функции, доступные в DataGrip через плагин Database tools and SQL, который включен по умолчанию. С его помощью можно запрашивать, создавать и управлять базами данных независимо от того, работают ли они локально, на сервере или в облаке. Плагин поддерживает MySQL, PostgreSQL, Microsoft SQL Server, SQLite, MariaDB, Oracle, Apache Cassandra и другие. Для получения дополнительной информации о том, что вы можете сделать с этим плагином, посмотрите .

Визуализация параллельных потоков

, и последние фреймворки, такие как являются примерами растущей популярности асинхронного программирования на Python. Несмотря на то, что асинхронные программы действительно приносят много пользы, известно, что их довольно сложно писать и отлаживать. В таких случаях визуализация параллельных потоков может быть именно тем, что доктор прописал. Она помогает полностью контролировать свои многопоточные приложения и оптимизировать их.

Проверьте подробную документацию этой функции для получения более подробной информации.

Более подробная информация содержится в .

Профилировщик

Говоря об оптимизации, профилирование — это еще один метод, который можно использовать для оптимизации кода. С его помощью можно увидеть, какие части кода занимают большую часть времени при выполнении. Профилировщик расставляет следующие приоритеты:

Если у вас не установлен или , просто вернитесь к стандартному . Он и здесь я не буду пересказывать эту документацию.

Режим научной разработки

Python — это язык не только для общего и веб‑программирования. За последние годы он стал лучшим инструментом для науки о данных и машинного обучения. Своей популярностью он обязан своим инструментам и библиотекам, таким как , , , , и другим. При наличии таких мощных библиотек необходима мощная IDE для поддержки всех функций, таких как построение графиков и анализ этих библиотек. PyCharm предоставляет все, что нужно, .

Удалённая разработка

Одним из распространенных источников ошибок во многих приложениях является то, что среды разработки и эксплуатации не совпадают. Хотя, в большинстве случаев, для разработки невозможно предоставить точную копию среды эксплуатации, стремление к этому является достойной целью.

С помощью PyCharm можно отлаживать свои приложение, используя интерпретатор с другого компьютера, например, на виртуальной машине Linux. В результате вы можете использовать тот же интерпретатор, что и ваша рабочая среда. Это позволяет исправлять и избегать многих ошибок. Прочитайте об этом в .

7 Python Plugins для IntelliJ IDEA

Базовый плагин даёт возможность интеллектуального редактирования скриптов Python, эффективно расширяя функциональность IntelliJ IDEA и в целом соответствует функциональности PyCharm при решении проблем и достижения целей, связанных с кодированием на Python. Однако у профессионалов программного обеспечения, таких как вы, в рукаве должно быть несколько дополнительных плагинов, которые сделают вашу разработку на Python в IntelliJ IDEA еще более эффективной и продуктивной.

1.

Python linter

Как следует из названия, плагин является . Он обеспечивает сканирование файлов Python в реальном времени и/или по требованию внутри IntelliJ IDEA. Pylint — проект с открытым исходным кодом и поэтому может быть полностью настроен для вас. Кроме того, у Pylint есть .

2.

Python Smart Execute

Этот удобный маленький плагин является разумной альтернативой команде «Execute Line in Console» (Выполнить строку в консоли). Он автоматически определяет количество строк, отправляемых на консоль Python, и к нему легко получить доступ с помощью сочетания клавиш: alt + shift + A.

Надо сразу предупредить, что в следующих версиях IntelliJ IDEA и PyCharm этот плагин может устареть, так как .

3.

В строгом смысле, это не плагин Python. Tabnine — инструмент для повышения производительности программирования, который помогает быстрее писать лучший код. Tabnine использует GPT-2 для обеспечения высокоточных предсказаний кода в Python и других языках. Tabnine теперь является частью семьи Codota, но, честно говоря, мне всегда нравилась его удивительная точность.

4.

MyPyMypy — дополнительный анализатор для статической проверки исходного кода Python

Mypy — дополнительный анализатор для стаческой проверки исходного кода Python, который стремится объединить прелести динамического (или ”duck») и обычного ввода. Среди прочего, он ищет ошибки программирования, помогает применять стандарты кодирования и принюхивается к некоторым запахам кода.

5.

DeepBugs может обнаруживать ошибки

Этот плагин, разработанный исследовательским отделом JetBrains, обещает выявлять потенциальные ошибки и проблемы качеством вашего кода Python с помощью моделей глубокого машинного обучения. DeepBugs может обнаруживать ошибки, такие как неверные аргументы функций, некорректное сравнение и другие, на основе семантики анализируемого кода.

7.

Этот последний в нашем списке плагин представляет собой удобный набор из трех проверок. Его можно запустить в своем коде Python и он будет искать потенциально неиспользуемые классы, функции (включая методы) и имена (глобальные и на уровне классов) в вашем коде.

Основа:

Установка подсистемы Windows для Linux

WSL позволяет запускать среду командной строки GNU/Linux, интегрированную непосредственно с Windows и вашими любимыми инструментами, такими как Visual Studio Code, Outlook и т. д. Мы обычно рекомендуем использовать WSL 2 для веб-разработки на Python.

Чтобы включить и установить WSL 2, см. документацию по установке WSL. Эти инструкции включают возможность выбора дистрибутива Linux (например, Ubuntu).

Установив WSL и дистрибутив Linux, откройте дистрибутив Linux (его можно найти в меню «Пуск» в Windows) и проверьте версию и кодовое имя с помощью команды .

Мы рекомендуем не просто регулярно обновлять дистрибутив Linux, а сделать это сразу после установки. Так вы убедитесь в том, что у вас есть последние версии пакетов. Windows не обрабатывает это обновление автоматически. Чтобы обновить дистрибутив, используйте команду .

Совет

Установите новый Терминал Windows из Microsoft Store. В нем вы можете использовать несколько вкладок (для быстрого перехода между несколькими командным строками Linux, командной строкой Windows, PowerShell, Azure CLI и т. д.), создавать пользовательские сочетания клавиш (для открытия и закрытия вкладок, копирования и вставки и т. п.), а также применять функцию поиска и настраивать пользовательские темы (цветовые схемы, стили и размеры шрифтов, а также фоновое изображение, размытие и прозрачность). Подробнее.

Структура целевого объекта команды

Общая форма элемента показана в следующем псевдокоде:

Чтобы сослаться на свойства проекта или переменные среды в значениях атрибутов, используйте имя в токене , например и . Дополнительные сведения см. в разделе Свойства MSBuild.

Атрибуты Target

Атрибут Обязательно Описание
Имя Да Идентификатор для команды в проекте Visual Studio. Это имя нужно добавить в группу свойств , чтобы команда появилась в подменю Python.
Метка Да Отображаемое имя пользовательского интерфейса, отображаемое в подменю Python.
Возвращает Да Должен содержать , который идентифицирует целевой объект как команду.

Атрибуты CreatePythonCommandItem

Все значения атрибутов указываются без учета регистра.

Атрибут
Обязательно
Описание
TargetType
Да
Указывает, что содержит атрибут Target и как он используется вместе с атрибутом Arguments:
executable. Запуск исполняемого файла с именем, указанным в Target, с добавлением значения в Arguments, как при вводе непосредственно в командной строке. Это значение должно содержать только имя программы без аргументов.

script. Запуск python.exe с именем файла в Target, после которого идет значение в Arguments.

module. Запуск , после которого идет имя модуля в Target и значение в Arguments.

code. Запуск встроенного кода, содержащегося в Target. Значение Arguments игнорируется.

pip. Запуск с командой в Target, после которого идет Arguments; для ExecuteIn задано значение output, однако pip предполагает команду и использует Target в качестве имени пакета.

целевого объекта
Да
Имя файла
, имя модуля, код или команда pip, которые требуется использовать, в зависимости от TargetType.
Аргументы
Необязательный
Указывает строку аргументов (при их наличии) для передачи целевому объекту

Обратите внимание, что, когда TargetType имеет значение , аргументы передаются программе Python, а не python.exe. Для TargetType игнорируется.
ExecuteIn
Да
Определяет среду, в которой выполняется команда:
console

Запускает Target и аргументы, как при вводе непосредственно в командной строке (по умолчанию). Командное окно отображается при выполнении Target, а затем автоматически закрывается.

consolepause. То же, что и console, но с ожиданием нажатия клавиши перед закрытием окна.

output. Запускает Target и отображает результаты в окне вывода Visual Studio. Если TargetType имеет значение pip, Visual Studio использует Target в качестве имени пакета и добавляет Arguments.

repl. Запускает Target в интерактивном окне Python; для заголовка окна используется необязательное отображаемое имя.

none: аналогичен console.

WorkingDirectory
Необязательный
Папка, в которой выполняется команда.
ErrorRegexWarningRegEx
Необязательный
Используется, только если ExecuteIn имеет значение . Оба значения указывают регулярное выражение, с помощью которого Visual Studio анализирует выходные данные команды, чтобы отобразить ошибки и предупреждения в окне Список ошибок. Если значение не указано, команда не затрагивает окно Список ошибок. Дополнительные сведения о том, что ожидает Visual Studio, см. в разделе .
RequiredPackages
Необязательный
Список требований к пакету для команды, использующий тот же формат, что и (pip.readthedocs.io). Например, команда Выполнить PyLint указывает . Перед выполнением команды Visual Studio проверяет, что установлены все пакеты в списке. Для установки всех отсутствующих пакетов Visual Studio использует pip.
Среда
Необязательный
Строка с переменными среды, которые нужно определить перед выполнением команды. Каждая переменная использует формат =, а для разделения нескольких переменных используется точка с запятой. Переменная с несколькими значениями должна быть заключена в одинарные или двойные кавычки, например ‘имя=значение1;значение2’.

Именованные группы записи для регулярных выражений

При анализе ошибки и предупреждений из выходных данных команды Visual Studio ожидает, что регулярные выражения в значениях и используют следующие именованные группы:

  • . Текст ошибки.
  • . Код ошибки
  • . Имя файла, для которого возникла ошибка.
  • . Номер строки в файле, где произошла ошибка.
  • . Номер столбца в файле, где произошла ошибка.

Например, PyLint выводит предупреждения в следующем виде:

Чтобы разрешить Visual Studio извлечь правильную информацию из таких предупреждений и отобразить их в окне Список ошибок, значение для команды Выполнить PyLint имеет следующий вид:

(Обратите внимание, что в значении должно быть , см. описание запроса 3680.)

Установка

Poetry — кроссплатформенный инструмент. Теоретически он должен одинаково работать в Linux, MacOS и Windows. Системные требования предполагают использование актуальных версий Python, поэтому начиная с версии Poetry 1.2 не поддерживаются Python 2.7 и 3.5, будьте внимательны!

Poetry создает изолированное виртуальное окружение для вашего проекта, инсталлируя все необходимое и разруливая конфликты зависимостей (если они в принципе решаемы).

По умолчанию установка происходит в домашний каталог пользователя, но это можно изменить путем переопределения переменной окружения POETRY_HOME:

Установка на OSX и Linux

Этапы установки на Mac и Linux идентичны:

1 Проверить версию Python (в консоли , и если версия Python по умолчанию 2.7, проверить ).

2 Чтобы установить актуальную версию вводим в консоль:

Если дефолтная версия языка не устраивает или если для установки хочется воспользоваться версией питона 3.x, а по умолчанию стоит 2.7, используйте команду:

Каталог bin, в который происходит установка инструмента, в Unix расположен в .

Установка на Windows

Для инсталляции Poetry:

1Откройте Powershell ( далее , или найдите PoweShell через поиск).

2 Введите команду:

Перезапустите оболочку и все заработает. Папку установки для Windows вы найдете в .

Установка через PIP и PIPX

Для данного варианта установки необходимо иметь на борту менеджер пакетов PIP (или PIPX).

Для установки Poetry через PIP выполните команду:

Команды Pipx для установки, обновления и удаления инструмента:

Пошаговое руководство. Добавление команды в файл проекта

Для ознакомления с пользовательскими командами в этом разделе рассматривается простой пример, в котором файл запуска проекта выполняется напрямую с помощью python.exe. (Такая команда фактически аналогична использованию команды Отладка > Запуск без отладки.)

Создайте проект с именем Python-CustomCommands, используя шаблон Приложение Python. (Если вы еще не знакомы с этой процедурой, см. инструкции в статье Краткое руководство

Создание проекта Python из шаблона.)

В Python_CustomCommands.py добавьте код .

Щелкните проект правой кнопкой мыши в обозревателе решений, выберите Python и обратите внимание, что в подменю отображается только команда Выполнить PyLint. В этом же подменю отображаются и ваши пользовательские команды.

Откройте Python-CustomCommands.pyproj в отдельном текстовом редакторе, как описано во введении

Добавьте следующие строки в конец файла внутри прямо перед закрывающим и сохраните файл.

Вернитесь в Visual Studio и выберите Перезагрузить при выводе запроса об изменении файла. Затем проверьте меню Python еще раз и убедитесь, что единственным элементом там по-прежнему является команда Выполнить PyLint, так как добавленные строки просто реплицируют группу свойств по умолчанию , содержащую команду PyLint.

Переключитесь в редактор с файлом проекта и добавьте следующее определение после . Как описано далее в этой статье, этот элемент определяет пользовательскую команду для выполнения файла запуска (определяется свойством StartupFile) с помощью python.exe в окне консоли. Атрибут использует консоль, которая ожидает нажатия клавиши перед закрытием.

Добавьте значение атрибута Target в добавленную ранее группу свойств , чтобы элемент выглядел аналогично приведенному ниже коду. Добавление имени целевого объекта в этот список — это фактически и добавление его в меню Python.

Чтобы команда отображалась перед командами, заданными в , расположите их перед этим токеном.

Сохраните файл проекта, перейдите в Visual Studio и перезагрузите проект при появлении запроса. Затем щелкните проект Python-CustomCommands правой кнопкой мыши и выберите пункт Python. В меню вы увидите элемент Run startup file (Выполнить файл запуска). Если такой элемент в меню отсутствует, убедитесь, что вы добавили это имя в элемент . См. также раздел далее в этой статье.

Выберите команду Выполнить файл запуска, чтобы отобразить командное окно с текстом Hello custom commands (Знакомство с пользовательскими командами) и запросом Press any key to continue (Для продолжения нажмите любую клавишу). Нажмите любую клавишу, чтобы закрыть окно.

Вернитесь в редактор с файлом проекта и измените значение атрибута на . Сохраните файл, перейдите в Visual Studio, перезагрузите проект и вызовите эту команду снова. На этот раз выходные данные программы отображаются в окне Вывод Visual Studio:

Чтобы добавить дополнительные команды, определите для каждой из них подходящий элемент , добавьте имя целевого объекта в группу свойств и перезагрузите проект в Visual Studio.

Dica

Если вызвать команду, использующую свойства проекта, например , которая завершается с ошибкой из-за неопределенного токена, Visual Studio отключает эту команду до перезагрузки проекта. Однако внесение в проект изменений, определяющих это свойство, не обновляет состояние этих команд, поэтому в подобных ситуациях все равно нужно перезагрузить проект.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: