What is this?
A thin shell around npm for installing Python libraries
Installation
npm i -g pykg
Usage
package.json
Initialize your # Inside your new project's directory root
npm init
or if you prefer yarn
yarn init
Add some dependencies
pykg install requests django
npm script
Run anNB: Only npm start
is supported now
pykg start # equivalent to npm start, with $PYTHONPATH set appropriately
Known limitations
- 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
FAQs
Why?
To see if it could be done
No seriously...why?
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.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