I'm using Visual Studio Code with the Python plugin and autopep8 with:
"editor.formatOnSave": true
I have local packages I need to import, so I have something like:
import sys
sys.path.insert(0, '/path/to/packages')
import localpackage
but when I save, Visual Studio Code/autopep8 moves all import statements before the code, so Python can't find my local package.
import sys
import localpackage
sys.path.insert(0, '/path/to/packages')
How can I tell Visual Studio Code/autopep8 that it's okay to put a statement before imports, or is there a more correct way of importing local packages?
As a workaround, it looks like it's fine if you import in an if statement:
import sys
sys.path.insert(0, '/path/to/packages')
if 'localpackage' not in sys.modules:
import localpackage
"python.formatting.autopep8Args"
. – Terrorism"python.formatting.autopep8Args": ["--ignore", "E402"]
(see complete answer below). – Carpus