Difference between revisions of "Python deployments"

From Freephile Wiki
Jump to navigation Jump to search
(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">
$ virtualenv myenv
+
$ 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 11: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]

  1. 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