What is this?
A thin shell around npm for installing Python libraries
npm i -g pykg
# Inside your new project's directory root npm init
or if you prefer
Add some dependencies
pykg install requests django
npm start is supported now
pykg start # equivalent to npm start, with $PYTHONPATH set appropriately
- Doesn't support libraries with native extensions
- I only have 7 Python libraries up on the NPM registry so far
- Doesn't do dependency resolution from
- Doesn't add scripts from libraries to your
To see if it could be done
I like npm/yarn. I thought this would be a good way to learn how Python libraries actually get installed.
Are there any advantages to using this?
- You can take advantage of NPM/yarn features such as local caching for offline installs, lockfiles etc.
package.jsonis a standard in the NPM-world.
requirements.txtfulfill some of the functions but not all
- You don't need virtualenv. npm/yarn installs dependencies into
node_modulesby default and
PYTHONPATHso that imports just work when invoking