<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://k2.ixota.com/index.php?action=history&amp;feed=atom&amp;title=Python%2Fpip</id>
	<title>Python/pip - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://k2.ixota.com/index.php?action=history&amp;feed=atom&amp;title=Python%2Fpip"/>
	<link rel="alternate" type="text/html" href="https://k2.ixota.com/index.php?title=Python/pip&amp;action=history"/>
	<updated>2026-06-26T11:01:22Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.33.1</generator>
	<entry>
		<id>https://k2.ixota.com/index.php?title=Python/pip&amp;diff=5991&amp;oldid=prev</id>
		<title>Kenneth: /* Create PIP Package */</title>
		<link rel="alternate" type="text/html" href="https://k2.ixota.com/index.php?title=Python/pip&amp;diff=5991&amp;oldid=prev"/>
		<updated>2021-07-28T21:17:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Create PIP Package&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== pip ==&lt;br /&gt;
&lt;br /&gt;
pip - installs packages. Python packages. An easy_install replacement&lt;br /&gt;
&lt;br /&gt;
pip 1.1 : Python Package Index - http://pypi.python.org/pypi/pip&lt;br /&gt;
&lt;br /&gt;
Usage:&lt;br /&gt;
 pip help&lt;br /&gt;
 pip install [package]   # Example: &amp;#039;pip install test&amp;#039;&lt;br /&gt;
 pip -v --upgrade install [package]   # force upgrade&lt;br /&gt;
 pip uninstall [package]&lt;br /&gt;
 pip search [package]&lt;br /&gt;
 pip freeze              # list all currently installed pip packages&lt;br /&gt;
 pip list                # also list all packages&lt;br /&gt;
 pip show [installed_package]      # minimal info about installed package&lt;br /&gt;
&lt;br /&gt;
PIP Source Code: http://pypi.python.org/packages/source/p/pip/&lt;br /&gt;
&lt;br /&gt;
Package Destination: /usr/lib/python2.4/site-packages/&lt;br /&gt;
&lt;br /&gt;
Test package example:&lt;br /&gt;
* Package Page: http://pypi.python.org/pypi/test&lt;br /&gt;
* Package Source Code: http://pypi.python.org/packages/source/t/test/test-2.3.4.5.tar.gz&lt;br /&gt;
* Package Destination: /usr/lib/python2.4/site-packages/test-2.3.4.5-py2.4.egg-info/&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installing the Package Tools — The Hitchhiker&amp;#039;s Guide to Packaging v1.0 documentation - http://guide.python-distribute.org/installation.html&lt;br /&gt;
* Pip Installs Python (Pip)&lt;br /&gt;
:Pip is an installer for Python packages written by Ian Bicking. It can install packages, list installed packages, upgrade packages and uninstall packages. The &amp;#039;&amp;#039;&amp;#039;pip application is a replacement for easy_install&amp;#039;&amp;#039;&amp;#039;. It uses mostly the same techniques for finding packages, so packages that were made easy_installable should be pip-installable as well.&lt;br /&gt;
&lt;br /&gt;
Dependency Installation:&lt;br /&gt;
 # dependency setuptools&lt;br /&gt;
 # Python Package Index : setuptools 0.6c11 - http://pypi.python.org/pypi/setuptools&lt;br /&gt;
 # source code: http://pypi.python.org/packages/source/s/setuptools/&lt;br /&gt;
 # VER=1.1.6&lt;br /&gt;
 VER=2.0&lt;br /&gt;
 mkdir -p ~/.src ; cd ~/.src&lt;br /&gt;
 wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-$VER.tar.gz&lt;br /&gt;
 tar -zvxf setuptools-$VER.tar.gz&lt;br /&gt;
 cd setuptools-$VER&lt;br /&gt;
 sudo python setup.py install&lt;br /&gt;
&lt;br /&gt;
 # yum method, if available&lt;br /&gt;
 yum install python-setuptools&lt;br /&gt;
&lt;br /&gt;
Easy Install:&lt;br /&gt;
 sudo easy_install pip&lt;br /&gt;
&lt;br /&gt;
Windows:&lt;br /&gt;
 C:\python27\scripts\easy_install.exe pip&lt;br /&gt;
&lt;br /&gt;
Apt:&lt;br /&gt;
 sudo apt-get install python-setuptools&lt;br /&gt;
 sudo easy_install pip&lt;br /&gt;
&lt;br /&gt;
Manual Installation:&lt;br /&gt;
 PIP_VER=1.4.1&lt;br /&gt;
 mkdir -p ~/.src ; cd ~/.src&lt;br /&gt;
 # Python Package Index : pip 1.0.1 - http://pypi.python.org/pypi/pip#downloads&lt;br /&gt;
 wget http://pypi.python.org/packages/source/p/pip/pip-$PIP_VER.tar.gz&lt;br /&gt;
 tar -zvxf pip-$PIP_VER.tar.gz&lt;br /&gt;
 cd pip-$PIP_VER &lt;br /&gt;
 sudo python setup.py install&lt;br /&gt;
&lt;br /&gt;
 # fix pip:&lt;br /&gt;
 sudo sed -i &amp;#039;s%#!/usr/bin/python%#!/usr/bin/env python%&amp;#039; /opt/python26/bin/pip&lt;br /&gt;
&lt;br /&gt;
NOTE: Most packages failed during installation.  The simple &amp;#039;test&amp;#039; package installed though.&lt;br /&gt;
&lt;br /&gt;
Packages are generally installed into:&lt;br /&gt;
 /usr/local/lib/python2.7/dist-packages/&lt;br /&gt;
&lt;br /&gt;
== PyPI ==&lt;br /&gt;
&lt;br /&gt;
=== Create PIP Package ===&lt;br /&gt;
&lt;br /&gt;
setup.py: [https://docs.python.org/2/distutils/setupscript.html]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from distutils.core import setup&lt;br /&gt;
&lt;br /&gt;
setup(&lt;br /&gt;
    name=&amp;#039;kentest&amp;#039;,&lt;br /&gt;
    version=&amp;#039;0.1.0&amp;#039;,&lt;br /&gt;
    author=&amp;#039;Kenneth Burgener&amp;#039;,&lt;br /&gt;
    author_email=&amp;#039;kenneth@oeey.com&amp;#039;,&lt;br /&gt;
    packages=[&amp;#039;kentest&amp;#039;],&lt;br /&gt;
    url=&amp;#039;http://pypi.python.org/pypi/kentest/&amp;#039;,&lt;br /&gt;
    license=&amp;#039;LICENSE.txt&amp;#039;,&lt;br /&gt;
    description=&amp;#039;kentest.&amp;#039;,&lt;br /&gt;
    long_description=open(&amp;#039;README.txt&amp;#039;).read(),&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create distribution package:&lt;br /&gt;
 # output to: dist/[PROJECT]-[VERSION].tar.gz&lt;br /&gt;
 python setup.py sdist&lt;br /&gt;
&lt;br /&gt;
Test install:&lt;br /&gt;
 sudo pip install dist/[PROJECT]-[VERSION].tar.gz&lt;br /&gt;
&lt;br /&gt;
Remove Test install:&lt;br /&gt;
 sudo pip uninstall [PROJECT]&lt;br /&gt;
&lt;br /&gt;
-- New Upload Process --&lt;br /&gt;
&lt;br /&gt;
Install Twine:&lt;br /&gt;
 python3 -m pip install --upgrade twine&lt;br /&gt;
&lt;br /&gt;
Upload to test repository:&lt;br /&gt;
 python3 -m twine upload --repository testpypi dist/*&lt;br /&gt;
&lt;br /&gt;
Upload to main repository:&lt;br /&gt;
 python3 -m twine upload dist/*&lt;br /&gt;
&lt;br /&gt;
ref: https://packaging.python.org/tutorials/packaging-projects/&lt;br /&gt;
&lt;br /&gt;
-- Old Upload Process --&lt;br /&gt;
&lt;br /&gt;
&amp;lt;s&amp;gt;&lt;br /&gt;
Configure PyPI settings:&lt;br /&gt;
 # ~/.pypirc&lt;br /&gt;
 python setup.py register&lt;br /&gt;
&lt;br /&gt;
Upload project:&lt;br /&gt;
 python setup.py sdist upload&lt;br /&gt;
&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-- Install --&lt;br /&gt;
&lt;br /&gt;
Install project:&lt;br /&gt;
 pip install kentest&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
Sections:&lt;br /&gt;
&lt;br /&gt;
Scripts:&lt;br /&gt;
 scripts=[&amp;#039;bin/mytool&amp;#039;]&lt;br /&gt;
&lt;br /&gt;
Data files: (&amp;quot;*&amp;quot; doesn&amp;#039;t appear to work)&lt;br /&gt;
      data_files=[(&amp;#039;bitmaps&amp;#039;, [&amp;#039;bm/b1.gif&amp;#039;, &amp;#039;bm/b2.gif&amp;#039;]),&lt;br /&gt;
                  (&amp;#039;config&amp;#039;, [&amp;#039;cfg/data.cfg&amp;#039;]),&lt;br /&gt;
                  (&amp;#039;/etc/init.d&amp;#039;, [&amp;#039;init-script&amp;#039;])]&lt;br /&gt;
&lt;br /&gt;
Package files:&lt;br /&gt;
      packages=[&amp;#039;mypkg&amp;#039;],&lt;br /&gt;
      package_dir={&amp;#039;mypkg&amp;#039;: &amp;#039;src/mypkg&amp;#039;},&lt;br /&gt;
      package_data={&amp;#039;mypkg&amp;#039;: [&amp;#039;data/*.dat&amp;#039;]},&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* The Python Package Index (PyPI) — Python documentation - https://docs.python.org/2/distutils/packageindex.html&lt;br /&gt;
* Writing the Setup Script — Python documentation - https://docs.python.org/2/distutils/setupscript.html&lt;br /&gt;
* &amp;lt;s&amp;gt;Creating a Package — The Hitchhiker&amp;#039;s Guide to Packaging 1.0 documentation - http://guide.python-distribute.org/creation.html&amp;lt;/s&amp;gt;&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
reStructuredText&lt;br /&gt;
&lt;br /&gt;
PyPI uses reStructuredText instead of Markdown (shame!)&lt;br /&gt;
&lt;br /&gt;
Install pypandoc:&lt;br /&gt;
 yum install pandoc&lt;br /&gt;
 pip install pypandoc&lt;br /&gt;
&lt;br /&gt;
To have setup.py auto convert it, install pandoc and add the following: [http://stackoverflow.com/questions/10718767/have-the-same-readme-both-in-markdown-and-restructuredtext]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
from setuptools import setup&lt;br /&gt;
try:&lt;br /&gt;
    from pypandoc import convert&lt;br /&gt;
    read_md = lambda f: convert(f, &amp;#039;rst&amp;#039;)&lt;br /&gt;
except ImportError:&lt;br /&gt;
    print(&amp;quot;warning: pypandoc module not found, could not convert Markdown to RST&amp;quot;)&lt;br /&gt;
    read_md = lambda f: open(f, &amp;#039;r&amp;#039;).read()&lt;br /&gt;
&lt;br /&gt;
setup(&lt;br /&gt;
    # name, version, ...&lt;br /&gt;
    long_description=read_md(&amp;#039;README.md&amp;#039;),&lt;br /&gt;
    install_requires=[]&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:This will automatically convert README.md to RST for the long description using on PyPi. When pypandoc is not available, then it just reads README.md without the conversion – to not force others to install pypandoc when they wanna just build the module, not upload to PyPi.&lt;br /&gt;
&lt;br /&gt;
:So you can write in Markdown as usual and don’t care about RST mess anymore. :-)&lt;br /&gt;
&lt;br /&gt;
rst test tool: http://rst.ninjs.org/&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* http://stackoverflow.com/questions/10718767/have-the-same-readme-both-in-markdown-and-restructuredtext&lt;/div&gt;</summary>
		<author><name>Kenneth</name></author>
		
	</entry>
</feed>