mirror of
https://github.com/kennethreitz/python-guide.git
synced 2026-06-05 14:50:19 +00:00
packaging structure
This commit is contained in:
+16
-106
@@ -1,121 +1,31 @@
|
||||
Packaging Your Code
|
||||
==========================
|
||||
===================
|
||||
|
||||
For PyPi
|
||||
::::::::
|
||||
|
||||
If you're writing an open source Python module, PyPi, more properly known as *The Cheeseshop*, is the place to host it.
|
||||
|
||||
Package Manager
|
||||
---------------
|
||||
|
||||
While Snow Leopard comes with a large number of UNIX utilities, those
|
||||
familiar with Linux systems will notice one key component missing: a
|
||||
package manager. Mxcl's *Homebrew* is the answer.
|
||||
|
||||
To install Homebrew, simply run: ::
|
||||
|
||||
$ ruby -e "$(curl -fsS http://gist.github.com/raw/323731/install_homebrew.rb)"
|
||||
Packaging your code is important.
|
||||
|
||||
|
||||
It's basic commands are **update**, **install**, and **remove**.
|
||||
For Python Developers
|
||||
:::::::::::::::::::::
|
||||
|
||||
.. man brew
|
||||
If you're writing an open source Python module, `PyPi <http://pypi.python.org>`_, more properly known as *The Cheeseshop*, is the place to host it.
|
||||
|
||||
|
||||
|
||||
Python Interpreter
|
||||
------------------
|
||||
Pip vs. easy_install
|
||||
--------------------
|
||||
|
||||
And we can now install Python 2.7: ::
|
||||
|
||||
$ brew install python --framework
|
||||
x y z
|
||||
|
||||
|
||||
The ``--framework`` option tells Homebrew to compile a Framework-style Python build, rather than a UNIX-style build. The outdated version of Python that Snow Leopard comes packaged with
|
||||
is built as a Framework, so this helps avoid some future module installation
|
||||
bugs.
|
||||
|
||||
*Don't forget to update your environment PATH.*
|
||||
Personal PyPi
|
||||
-------------
|
||||
|
||||
|
||||
Distribute & Pip
|
||||
----------------
|
||||
|
||||
*Distribute* is a fantastic drop-in replacement for *easy_install* and
|
||||
*setuptools*. It allows you to install and manage python packages from
|
||||
pypi.python.org, amongst a few other sources. It also plays well with
|
||||
*virtualenv* and user-enviornments.
|
||||
|
||||
**easy_install** is considered by many to be a deprecated system, so we
|
||||
will install it's replacement: **pip**. Pip allows for uninstallation
|
||||
of packages, and is actively maintained, unlike setuptool's easy_install.
|
||||
|
||||
To install *pip* and Distribute's *easy_install*:
|
||||
|
||||
If you have homebrew: ::
|
||||
|
||||
$ brew install pip
|
||||
|
||||
...And, if you're a masochist: ::
|
||||
|
||||
$ curl -O http://python-distribute.org/distribute_setup.py
|
||||
$ python distribute_setup.py
|
||||
|
||||
$ easy_install pip
|
||||
|
||||
|
||||
|
||||
To install ``pip``: ::
|
||||
|
||||
Hopefully you'll never have to use **easy_install** again.
|
||||
|
||||
|
||||
Updating Python
|
||||
---------------
|
||||
|
||||
Homebrew makes it simple. ::
|
||||
|
||||
$ brew update
|
||||
$ brew install --force python
|
||||
|
||||
|
||||
Windows
|
||||
:::::::
|
||||
|
||||
|
||||
|
||||
Prerequisites:
|
||||
--------------
|
||||
|
||||
* Python2.7 (x86) from Python.org
|
||||
* Microsoft Visual Studio
|
||||
|
||||
|
||||
Step 1: Install Distribute & Pip
|
||||
--------------------------------
|
||||
|
||||
**Distribute** is a fantastic drop-in replacement for **easy_install** and **setuptools**. It allows you to install and manage python packages from PyPi, amongst a few other sources.
|
||||
|
||||
To install it, run the python script available here:
|
||||
<http://python-distribute.org/distribute_setup.py>
|
||||
|
||||
Make sure that ```C:\Python27\```, and ```C:\Python27\Scripts``` are in your PATH.
|
||||
|
||||
**easy_install** is considered by many to be a deprecated system, so we will install it's replacement: **pip**. Pip allows for uninstallation of packages, and is actively maintained, unlike setuptool's easy_install.
|
||||
|
||||
To install pip, simply run: ::
|
||||
|
||||
$ easy_install pip
|
||||
|
||||
|
||||
Linux (Ubuntu)
|
||||
::::::::::::::
|
||||
|
||||
|
||||
|
||||
Linux (Manual)
|
||||
::::::::::::::
|
||||
|
||||
For Linux Distributions
|
||||
::::::::::::::::::::::::
|
||||
|
||||
Useful Tools
|
||||
````````````
|
||||
|
||||
- epm
|
||||
- alien
|
||||
Reference in New Issue
Block a user