A test repo to compare different Python IDEs.

README.md

testpython

This is just a test project. You can do anything here, test python and IDE projects.

This branch is of Python 3 code. There's a python2 branch too.

Getting the project

You can get a copy of this project by clicking on the ZIP or TAR buttons near the top right of the GitList web page.

You can clone from the origin with:

git clone ssh://USERNAME@dlma.com/~/git/testpython.git

Supported IDEs

This project has example Visual Studio Code, PyCharm, Atom, and Sublime Text 3 projects.

tmux vim entr

The best IDE of all, for those who live on the CLI. Create two panes in tmux, run vim in one, and run entr in the other with a command like:

git ls-files | entr -c sh -c 'ctags -R *; ./testpython.py'

or

find . -type f -name \*.py | entr -c sh -c 'ctags -R *; ./testpython.py'

or to run in pdb:

git ls-files | entr -c sh -c 'ctags -R *; python3 -m pdb testpython.py'

Tip: In vim you can do a multi-file grep and use the QuickFix window with commands like...

:grep -rI searchterm .
:cw

See this QuickFix tip for sorting results by filename.

Visual Studio Code

Download Microsoft's Visual Studio Code from code.visualstudio.com. Code uses the testpython.code-workspace project file. I prefer this to GitHub's Atom. Both are based on GitHub's Electron.

PyCharm

PyCharm uses the .idea directory. JetBrains suggests sharing the .idea directory except for workspace.xml and tasks.xml.

Sublime Text 3

Sublime uses the testpython.sublime-project file.

GitHub's Atom

Download from atom.io. These are useful modules:

If you install project-manager, it looks for a local "project.cson" file, and merges those settings with what is in the .atom projects.cson file.

Requirements

requirements.txt specifies the requirements for Python modules and apps. Install the requirements with:

python3 -m pip install -r requirements.txt

Generating requirements.txt

Ideally, track why modules are required, create requirements.in with only the the top-level requirements, and let pip-compile (from pip-tools) figure out the next-level dependencies.

(venv) $ python3 -m pip install pip-tools
(venv) $ pip-compile requirements.in

Otherwise, you can make requirements.txt directly with pip freeze:

(venv) $ python3 -m pip freeze > requirements.txt

Current Features

  • Multiple directories for testing build systems and IDEs

Is it any good?

Yes.