Search code examples
pythonheroku

heroku python getting started tutorial EISDIR error


Following Heroku's Python Getting Started tutorial I am hitting an error

When I run:

heroku local web

I get the error:

internal/fs/utils.js:269
    throw err;
    ^

Error: EISDIR: illegal operation on a directory, read
    at Object.readSync (fs.js:568:3)
    at tryReadSync (fs.js:353:20)
    at Object.readFileSync (fs.js:390:19)
    at loadEnvsFile (/usr/local/Cellar/heroku/7.59.0/libexec/node_modules/foreman/lib/envs.js:132:15)
    at Array.map (<anonymous>)
    at loadEnvs (/usr/local/Cellar/heroku/7.59.0/libexec/node_modules/foreman/lib/envs.js:147:30)
    at Command.<anonymous> (/usr/local/Cellar/heroku/7.59.0/libexec/node_modules/foreman/nf.js:72:16)
    at Command.listener (/usr/local/Cellar/heroku/7.59.0/libexec/node_modules/foreman/node_modules/commander/index.js:315:8)
    at Command.emit (events.js:314:20)
    at Command.parseArgs (/usr/local/Cellar/heroku/7.59.0/libexec/node_modules/foreman/node_modules/commander/index.js:654:12) {
  errno: -21,
  syscall: 'read',
  code: 'EISDIR'
}

Solution

  • This error is the result of me using .env for my python venv folder

    python3.9 -m venv .env --prompt='heroku-getting-started'

    Looks like heroku's python-getting-started expects .env to be this

    $ cat .env
    TIMES=2
    

    I ended up moving the python venv to .venv instead and that error went away