Installera linters i Atom för Python

  • Författare
  • Meddelande
Användarvisningsbild

mos

dbwebb

  • Inlägg: 10972
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Installera linters i Atom för Python

Inlägg02 feb 2017, 11:31

Allinrep har gjort en tråd om detta tidigare.

Så här gör jag för att installera Python linters in i Atom Windows 10 och det fungerar att starta Atom från kommandoprompten i cygwin.

Den korta varianten:
Installera python och alla utilities du behöver i Windows och se till att du kan köra dem direkt från cmd (så att de ligger i din PATH).


En längre variant:
I Cygwin finns python3 och pylint sedan tidigare, men där fungerar de inte tillsammans med Atom. Istället installerar jag alla utilities direkt i Windows istället. Atom körs ju som en Windows-applikation så jag antar att något gör att den vill ha Windows installationen av python. Nåväl.

1. Googla "python download" och hämta hem och installera Python. Var noga med att klicka i rutan som säger något i stil med "Add python to PATH".

2. Öppna en Command Prompt och skriv in python för att kolla att installationen fungerade och att python ligger i din path. Det kan se ut ungefär så här.
Kod: Markera allt
C:\Users\mikae>python
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

C:\Users\mikae>PATH
PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\ProgramData\chocolatey\bin;C:\Users\mikae\AppData\Local\Microsoft\WindowsApps;C:\Users\mikae\AppData\Local\atom\bin;c:\xampp\php;C:\Users\mikae\AppData\Local\Programs\Python\Python36-32


3. I Command Prompt, installera de valideringsverktyg du vill använda. Jag tänker köra med pylint, flake8, flake8-docstrings och pycodestyle.
Kod: Markera allt
C:\Users\mikae>python -m pip install pylint flake8 flake8-docstrings pycodestyle


3.1. PROBLEM (kanske bara jag...). Min PATH innehåller inte sökvägen till där dessa utilities installeras. Jag måste lägga till den i min PATH.
PYthon finns i:
Kod: Markera allt
C:\Users\mikae\AppData\Local\Programs\Python\Python36-32


De extra skripten finns i underkatalogen Scripts:
Kod: Markera allt
C:\Users\mikae\AppData\Local\Programs\Python\Python36-32\Scripts


3.2 Starta om cmd, kolla att verktygen fungerar från prompten.
Kod: Markera allt
C:\Users\mikae>pylint --version
No config file found, using default configuration
pylint 1.6.5,
astroid 1.4.9
Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)]

C:\Users\mikae>pycodestyle --version
2.3.1

C:\Users\mikae>flake8 --version
[b]3.2.1[/b] (mccabe: 0.6.1, flake8-docstrings: 1.0.3, pydocstyle: 1.1.1, pyflakes: 1.3.0, pycodestyle: 2.3.1) CPython 3.6.0 on Windows


4. Installera linters i atom. Jag gör det via kommandoraden i cmd.
Kod: Markera allt
C:\Users\mikae>apm install linter linter-pylint linter-pycodestyle linter-flake8


5. Öppna Atom från cmd med nuvarande katalog som aktiv. Skapa en ny python-fil och skriv in moped = 42. Du bör få notiser från både pylint, flake8 och pycodestyle.
Kod: Markera allt
C:\Users\mikae>atom .
...
..:
.... /mos
Användarvisningsbild

mos

dbwebb

  • Inlägg: 10972
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

Re: Installera linters i Atom för Python

Inlägg22 sep 2017, 15:20

Jag jobbade igenom artikeln ovan för att installera Python linters i Atom (Windows). Jag ville testa om det fungerade som det skulle. Svaret är ja.

Förutsättning:
1) Installera senaste versionen av Python direkt i Windows och se till att Python hamnar i pathen.
2) Mina filer ligger i min windows hemmakatalog, inte i Cygwin eller i Bash (fungerar troligen bättre på Bash)

Missa inte att klicka i att Python exekverbara skall läggas till i pathen.
Bild


Installera det som behövs.
1) Windows-R och starta cmd (terminalen i Windows), dubbelkolla att du kan skriva "python" (inte python3).
2) Installera litersverktygen med Python pakethanterare PIP via följande kommando.
Kod: Markera allt
python -m pip install pylint flake8 flake8-docstrings pycodestyle


Dubbelkolla att det fungerade genom att testa ett av kommandona:
Kod: Markera allt
C:\Users\mos>pylint --version
No config file found, using default configuration
pylint 1.7.2,
astroid 1.5.3
Python 3.6.2 (v3.6.2:5fd33b5, Jul  8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)]


3) Installera linters i Atom med Atoms pakethanterare apm via cmd.exe.
Kod: Markera allt
apm install linter linter-pylint linter-pycodestyle linter-flake8


4) Starta atom. (Atom installerar ytterligare dependencies till linters) Testa genom att skapa en ny fil (i din Windows-katalog) och skriv in kodraden
Kod: Markera allt
moped = 42


För att testa, öppna atom via cmd, cygwin och bash.

När du sedan öppnar Atom i ett kursrepo, ställ dig alltid i rooten och öppna med "atom ." så används samma pylintrc som du har i kursrepot så du får samma valideringsfel som du får av dbwebb validate.
...
..:
.... /mos
Användarvisningsbild

daniel.m

css-hackare

  • Inlägg: 29
  • Blev medlem: 16 aug 2017, 22:02

Re: Installera linters i Atom för Python

Inlägg27 sep 2017, 18:19

Jag försökte få detta att fungera i timmar och har tillslut lyckats, så jag tänkte dela med mig av mitt problem.

Installation och allt gick bra, det var bara till att följa mos instruktioner. Efter installationen öppnade jag atom och skapade en fil test.py i ett av kmom:en, men jag fick inga felmeddelanden. Eftersom jag var lite skeptisk till om det fanns någon pylint rc fil som spökade skapade jag en till test-fil till fast på skrivbordet istället, och där funkade det. Efter flera omgångars ändrande i inställningarna för lint-paketen, och tagit bort alla rc filer jag kunde hitta i kursrepot med mera, hittade jag orsaken.

Eftersom kursrepot är ett github-projekt och me-katlogen är exkluderad i .gitignore så gjorde det ihop med inställningen "Exclude VCS Ignored Paths" i Atom att lint-paketen inte kollade filerna som ligger i me-katalogen. Så för alla som har samma problem, stäng av "Exclude VCS Ignored Paths" i "Core Settings" i Atom (ctrl+, för att öppna inställningar).

Vilka är online

Användare som besöker denna kategori: Google [Bot] och 12 gäster