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 yarn
yarn init
pykg install requests django
Run an npm script
NB: Only 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
requirements.txt
- Doesn't add scripts from libraries to your
PATH
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.
- You can take advantage of NPM/yarn features such as local caching for offline installs, lockfiles etc.
package.json
is a standard in the NPM-world.setup.py
andrequirements.txt
fulfill some of the functions but not all- You don't need virtualenv. npm/yarn installs dependencies into
node_modules
by default andpykg
sets thePYTHONPATH
so that imports just work when invokingpackage.json
scripts