Difference between revisions of "Python deployments"
(brief updates for 2017) |
|||
Line 21: | Line 21: | ||
In the old days (2015) there were still debates about how to package Python and install stuff. Now, it's settled. Use pip. Easy_install is dead. See the [https://docs.python.org/3/installing/index.html docs]. Also note that <code>venv</code> is the successor to <code>virtualenv</code> | In the old days (2015) there were still debates about how to package Python and install stuff. Now, it's settled. Use pip. Easy_install is dead. See the [https://docs.python.org/3/installing/index.html docs]. Also note that <code>venv</code> is the successor to <code>virtualenv</code> | ||
− | == Basic PIP == | + | == Basic PIP and Virtual Environments == |
− | Do NOT (normally) use sudo with pip. Use a virtual environment | + | Do NOT (normally) use sudo with pip. Use a virtual environment. As of Python 3.4, the command is now called <code>pyvenv</code> or simply <code>venv</code>. As of Python 3.6 <code>pyvenv</code> is '''deprecated''' in favor of using <code>python3 -m venv</cod> to help prevent any potential confusion as to which Python interpreter a vritual environment will be based on. |
<source lang="bash"> | <source lang="bash"> | ||
− | $ | + | $ python3 -m venv myenv |
.. some output .. | .. some output .. | ||
$ source myenv/bin/activate | $ source myenv/bin/activate | ||
(myenv) $ pip install what-i-want | (myenv) $ pip install what-i-want | ||
+ | # done using this python? | ||
+ | deactivate | ||
</source> | </source> | ||
You only use sudo or elevated permissions when you want to install stuff for the global, system-wide Python installation. | You only use sudo or elevated permissions when you want to install stuff for the global, system-wide Python installation. |
Revision as of 10:27, 2 March 2017
See Digital Ocean's quick guide to setting up a local Python programming environment, including virtual environments, which is what I did for SoundScrape Btw, SoundScrape is a neat tool to download sound files from SoundCloud. [1]
Hynek Schlawack (from 2013)
Python Packaging[edit | edit source]
In the old days (2015) there were still debates about how to package Python and install stuff. Now, it's settled. Use pip. Easy_install is dead. See the docs. Also note that venv
is the successor to virtualenv
Basic PIP and Virtual Environments[edit | edit source]
Do NOT (normally) use sudo with pip. Use a virtual environment. As of Python 3.4, the command is now called pyvenv
or simply venv
. As of Python 3.6 pyvenv
is deprecated in favor of using python3 -m venv</cod> to help prevent any potential confusion as to which Python interpreter a vritual environment will be based on.
$ python3 -m venv myenv
.. some output ..
$ source myenv/bin/activate
(myenv) $ pip install what-i-want
# done using this python?
deactivate
You only use sudo or elevated permissions when you want to install stuff for the global, system-wide Python installation.
It is best to use a virtual environment which isolates packages for you. That way you can play around without polluting the global python install.
As a bonus, virtualenv does not need elevated permissions.
- Installing a package is as simple as
pip install foo
- Upgrades are
pip install --upgrade foo
pip uninstall foo
if you want to remove foo
References[edit source]
- ↑
cd
mkdir environments
cd environments/
pyvenv my_env
source my_env/bin/activate
pip install --upgrade pip
pip install soundscrape
pip install soundscrape --upgrade
soundscrape https://soundcloud.com/pianoman_weddings/coldplay