Comments (3)
pickley
currently defaults to system python, but can install/package with any python.
Which python to use can be specified via command line: pickley --python 3.6 install ...
(or -P
for short). Value for --python
can be:
- full path to a python installation, like for example
/usr/bin/python
- command name like
python2.7
orpython3
- short form like
py3.6
of3.6
or even just36
- you can also be more specific like
3.7.3
A config file can also be provided in <base>/.pickley/config.json
(example if you dropped pickley in ~/.local/bin: ~/.local/bin/.pickley/config.json
).
Example config:
{
"python_installs": "~/.local/pyenv/versions",
"python": {
"3.7": "awscli"
},
}
The above example would tell pickley to look at ~/.local/pyenv/versions
for python installations (in addition to what you already have on $PATH
).
Then default to 3.7 for awscli
(if no --python
specified).
I plan to provide better support for this:
- respect module's
python_requires
(if there's any), don't default to system python for everything - document how python versions are found :)
- see what's the best way out there people are getting their "clean python" installations, and see if it could be made to work with as little configuration as possible :)
Few examples (without config):
pickley -P3.7 install tox
pickley -P `which python3` install tox
pickley -P ~/.local/pyenv/versions/3.7.3 install tox
from pickley.
@zsimic Great answer thank you.
In that example configuration above for pointing the default installation to pyenv would that be a good idea for doing by default? Just do a quick check for pyenv if it's installed; if so default to it?
If that is a simple enough thing to do I don't mind opening up a feature branch / pull request to add that feature.
from pickley.
Yes, that would make sense to do I think, as pyenv is pretty popular.
Didn't do it yet as I tried to keep it simple and reach 100% test coverage first.
Next things I plan to do are (in this order):
- fix edge case around dashes vs underscores in package names (currently broken: you can't install
foo-bar
, have to manually state it asfoo_bar
...) - provide an
upgrade
command (accepting 0 or more args) - write a good documentation
- respect
python_requires
if package specifies one (so not to have to configure anymore) - fancier python search (so stuff like auto-detect pyenv)
Contributions absolutely welcome! :)
from pickley.
Related Issues (3)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pickley.