Python dev install windows

Python Dev Tools¶

That’s it! Use the provided linter ( flake8 ), formatter ( whataformatter ) and precommit hook (TODO) where applicable.

Installation with Visual Studio Code¶

  • Follow the installation procedure for python-dev-tools
  • Be sure to have the official Python extension installed in VS Code
  • Open VS Code from within your activated virtual environment (in fact, make sure that flake8 from python-dev-tools is in your PYTHON_PATH )
  • In VS Code, open settings (F1 key, then type “Open Settings (JSON)”, then enter)
  • Add in the opened JSON file (before the closing > ):
"python.linting.enabled": true, "python.linting.flake8Enabled": true, "python.linting.flake8Path": "flake8", "python.formatting.provider": "black", "python.formatting.blackPath": "whataformatter", "python.formatting.blackArgs": [], 

Features¶

Integrate features of commonly used tools. This package provides usual dependencies to develop Python software.

  • Simple linter
    • flake8 a_python_file.py lints a_python_file.py
    • based on flake8 and plugins: https://gitlab.com/pycqa/flake8
      • darglint: https://github.com/terrencepreilly/darglint
      • dlint: https://github.com/dlint-py/dlint
      • flake8-2020: https://github.com/asottile/flake8-2020
      • flake8-aaa: https://github.com/jamescooke/flake8-aaa
      • flake8-annotations: https://github.com/sco1/flake8-annotations
      • flake8-annotations-complexity: https://github.com/best-doctor/flake8-annotations-complexity
      • flake8-annotations-coverage: https://github.com/best-doctor/flake8-annotations-coverage
      • flake8-bandit: https://github.com/tylerwince/flake8-bandit
      • flake8-blind-except: https://github.com/elijahandrews/flake8-blind-except
      • flake8-breakpoint: https://github.com/afonasev/flake8-breakpoint
      • flake8-broken-line: https://github.com/sobolevn/flake8-broken-line
      • flake8-bugbear: https://github.com/PyCQA/flake8-bugbear
      • flake8-builtins: https://github.com/gforcada/flake8-builtins
      • flake8-class-attributes-order: https://github.com/best-doctor/flake8-class-attributes-order
      • flake8-coding: https://github.com/tk0miya/flake8-coding
      • flake8-cognitive-complexity: https://github.com/Melevir/flake8-cognitive-complexity
      • flake8-comments: https://github.com/orsinium-labs/flake8-comments
      • flake8-comprehensions: https://github.com/adamchainz/flake8-comprehensions
      • flake8-debugger: https://github.com/JBKahn/flake8-debugger
      • flake8-django: https://github.com/rocioar/flake8-django
      • flake8-docstrings: https://gitlab.com/pycqa/flake8-docstrings
      • flake8-encoding: https://github.com/python-formate/flake8-encodings
      • flake8-eradicate: https://github.com/sobolevn/flake8-eradicate
      • flake8-executable: https://github.com/xuhdev/flake8-executable
      • flake8-expression-complexity: https://pypi.org/project/flake8-expression-complexity/
      • flake8-fixme: https://github.com/tommilligan/flake8-fixme
      • flake8-functions: https://github.com/best-doctor/flake8-functions
      • flake8-functions-names: https://github.com/Melevir/flake8-functions-names
      • flake8-future-annotations: https://github.com/tyleryep/flake8-future-annotations
      • flake8-isort: https://github.com/gforcada/flake8-isort
      • flake8-literal: https://github.com/plinss/flake8-literal
      • flake8-logging-format: https://github.com/globality-corp/flake8-logging-format
      • flake8-markdown: https://github.com/johnfraney/flake8-markdown
      • flake8-mutable: https://github.com/ebeweber/flake8-mutable
      • flake8-no-pep420: https://github.com/adamchainz/flake8-no-pep420
      • flake8-noqa: https://pypi.org/project/flake8-noqa/
      • flake8-pie: https://github.com/sbdchd/flake8-pie
      • flake8-pylint: https://github.com/orsinium-labs/flake8-pylint
      • flake8-pyi: https://github.com/PyCQA/flake8-pyi
      • flake8-pytest-style: https://github.com/m-burst/flake8-pytest-style
      • flake8-quotes: https://github.com/zheller/flake8-quotes/
      • flake8-rst-docstrings: https://github.com/peterjc/flake8-rst-docstrings
      • flake8-secure-coding-standard: https://github.com/Takishima/flake8-secure-coding-standard
      • flake8-simplify: https://github.com/MartinThoma/flake8-simplify
      • flake8-slots: https://github.com/python-formate/flake8-slots
      • flake8-string-format: https://github.com/xZise/flake8-string-format
      • flake8-tidy-imports: https://github.com/adamchainz/flake8-tidy-imports
      • flake8-typing-imports: https://github.com/asottile/flake8-typing-imports
      • flake8-use-fstring: https://github.com/MichaelKim0407/flake8-use-fstring
      • flake8-use-pathlib: https://gitlab.com/RoPP/flake8-use-pathlib
      • flake8-useless-assert: https://github.com/decorator-factory/flake8-useless-assert
      • flake8-variables-names: https://github.com/best-doctor/flake8-variables-names
      • flake8-warnings: https://github.com/orsinium-labs/flake8-warnings
      • pandas-vet: https://github.com/deppen8/pandas-vet
      • pep8-naming: https://github.com/PyCQA/pep8-naming
      • wemake-python-styleguide: https://github.com/wemake-services/wemake-python-styleguide
      • whataformatter a_python_file.py formats a_python_file.py
      • based on
        • autoflake: https://github.com/myint/autoflake
        • black: https://github.com/python/black
        • docformatter: https://github.com/PyCQA/docformatter
        • isort: https://github.com/PyCQA/isort
        • pybetter: https://github.com/lensvol/pybetter
        • pycln: https://github.com/hadialqattan/pycln
        • pyupgrade: https://github.com/asottile/pyupgrade
        • removestar: https://github.com/asmeurer/removestar
        • ssort: https://github.com/bwhmather/ssort
        • TODO

        License¶

        TODO¶

        • flake8 formatter to add URL to information on a warning
        • documentation
        • precommit (flake8, mypy)

        Changelog¶

        2022.5.27¶

        • Add flake8-aaa linter
        • Add flake8-blind-except linter
        • Add flake8-breakpoint linter
        • Add flake8-class-attributes-order linter
        • Add flake8-cognitive-complexity linter
        • Add flake8-coding linter
        • Add flake8-comments linter
        • Add flake8-django linter
        • Add flake8-encoding linter
        • Add flake8-executable linter
        • Add flake8-functions-names linter
        • Add flake8-future-annotations linter
        • Add flake8-literal linter
        • Add flake8-markdown linter
        • Add flake8-noqa linter
        • Add flake8-no-pep420 linter
        • Add flake8-pie linter
        • Add flake8-pyi linter
        • Add flake8-pylint linter
        • Add flake8-secure-coding-standard linter
        • Add flake8-slots linter
        • Add flake8-use-pathlib linter
        • Add flake8-useless-assert linter
        • Add flake8-warnings linter
        • Add pandas-vet linter

        2022.5.26¶

        • Add docformatter formatter
        • Add isort formatter
        • Add pybetter formatter
        • Add pycln formatter
        • Add removestar formatter
        • Add ssort formatter
        • Remove cohesion linter (false warnings on pure data classes such as NamedTuple )

        2022.5.20¶

        • Add cohesion linter
        • Add dlint linter
        • Add flake8-annotations linter
        • Add flake8-annotations-complexity linter
        • Add flake8-annotations-coverage linter
        • Add flake8-black linter
        • Add flake8-expression-complexity linter
        • Add flake8-functions linter
        • Add flake8-pytest-style linter
        • Add flake8-simplify linter
        • Add flake8-tidy-imports linter
        • Add flake8-typing-imports linter
        • Add flake8-use-fstring linter
        • Remove flake8-commas linter that is deprecated
        • Fix whataformatter and add —target-version option for VS Code compatibility

        2020.9.10¶

        • The path provided to whatalinter can be the one of a directory (recursive search of Python files)

        2020.9.7¶

        2020.9.4¶

        2020.9.2¶

        2020.9.1¶

        • Use poetry
        • Remove redundant linters
        • Change max line length to 88 (default value of black )
        • Replace pydocstyle with flake8-docstrings
        • Add wemake-python-styleguide

        2019.10.22¶

        2019.07.21¶

        2019.07.20¶

        2019.04.08¶

        • Add flake8 linter
        • Add flake8-isort linter
        • Add pep8-naming linter
        • Add flake8-comprehensions linter
        • Add flake8-logging-format linter
        • Add flake8-bugbear linter
        • Add flake8-builtins linter
        • Add flake8-broken-line linter
        • Add flake8-fixme linter
        • Add flake8-mutable linter
        • Add flake8-debugger linter
        • Add flake8-variables-names linter
        • Add flake8-bandit linter

        2019.03.02¶

        2019.03.01¶

        2019.02.26¶

        2019.02.23¶

        Источник

        What is python-dev package?

        Python packages are specific programs bundled as a collection of one or more modules. Developers packed them to perform some specific functionality. Python modules are Python files having a ‘.py’ extension. Packages hold such Python programs in bundles for development or scientific purpose. In this article, you will learn about the Python-dev package, and how to install it.

        What is Python-dev Package?

        It is a popular development package that contains the header files developers require to build Python extensions. Python-dev comprises the header documents for fabricating Python augmentations. lxml is an extension for Python C-API compiled explicitly when developers perform the ‘pip install lxml‘. The lxml sources have more or less functionality like #include for your code.

        Usually, on Linux systems, the binary libraries & header files of Python packages are separate. Therefore, developers can install Python which makes every code works fine. But in case, when developers want to build extensions to make augmentations for a program or to contribute as a community member, they have to install the corresponding dev package.

        What is the use of the python-dev package?

        The python-dev package includes everything a developer needs for compiling python extension modules. Note that the lxml package for python 3 (mentioned at ) already exists in Debian systems. But in other systems, you need to install the python-dev package because it contains the header files for the Python C language API. lxml leverages this API so that Python developers can include Python C extensions to obtain high-performance Python code.

        How to install python-dev package?

        To install python-dev tools or package, you have to open your terminal and type the command:

        $ python3 -m pip install python-dev-tools --user --upgrade

        Источник

        Читайте также:  Java abstract method in constructor
Оцените статью