pypokereval : Draft walkthrough to create python site-package
This commit is contained in:
parent
46022509de
commit
d351205fc8
155
packaging/windows/pypokereval-win32-packaging-walkthrough.txt
Normal file
155
packaging/windows/pypokereval-win32-packaging-walkthrough.txt
Normal file
|
@ -0,0 +1,155 @@
|
|||
pypokereval packaging for fpdb project
|
||||
--------------------------------------
|
||||
|
||||
Created by Gimick on 11th December 2010
|
||||
Content is available under the the GNU Affero General Public License version 3
|
||||
|
||||
Background
|
||||
----------
|
||||
|
||||
The walktrough builds an unoffical python installer package for pypokereval.
|
||||
|
||||
In a previous walkthrough, the pypokereval dll(pyd) was built from source.
|
||||
In this walkthrough, we are going to generate a windows package which will allow
|
||||
the sources to be installed through distutils onto a client computer
|
||||
|
||||
The current situation is that there is no windows build or windows installer provided
|
||||
by the package authors.
|
||||
|
||||
Until a package is available, the fpdb project needs some method of providing a windows
|
||||
installation for the pypokereval module. This walkthrough will therefore be obsolete once
|
||||
an official package becomes available.
|
||||
|
||||
Actually, for windows fpdb users, the majority will use a pre-built fpdb executable (which contains the
|
||||
pypokereval package) Therefore, pypokereval installation will only be needed for two groups of people:
|
||||
i) anyone wanting to build an fpdb package using py2exe
|
||||
ii) anyone wanting to run fpdb on windows from source
|
||||
|
||||
Credits
|
||||
-------
|
||||
|
||||
To loic@dachary.org at pokersource http://pokersource.sourceforge.net/
|
||||
To donn.ingle@gmail.com for the tutorial here ... http://wiki.python.org/moin/Distutils/Tutorial
|
||||
Official python reference here ... http://docs.python.org/distutils/index.html
|
||||
|
||||
Assumptions
|
||||
-----------
|
||||
|
||||
The underlying dll(pyd) and pokereval library is built for win32 x86 platform only, so we will assume
|
||||
32bit only in this walkthrough. Contributions for a x86-64 build are most welcome.
|
||||
|
||||
Similarly, the underlying package is built against the python 2-6 library and is valid only for that version.
|
||||
The underlying package was not built with sse enabled, and therefore should work for legacy systems.
|
||||
|
||||
|
||||
1. Install pre-requisites
|
||||
-------------------------
|
||||
|
||||
System used for building is winXP home
|
||||
|
||||
1.1/ Install python runtime from here ...
|
||||
|
||||
Python 2.6.5 ... http://www.python.org/ftp/python/2.6.5/python-2.6.5.msi
|
||||
|
||||
1.2/ Grab pypokereval stuff from fpdb project here ...
|
||||
|
||||
pypokereval ... http://sourceforge.net/projects/fpdb/files/fpdb/pypoker-eval-win32/pypokereval-138-win32-py265-fpdb-1.1.exe/download
|
||||
|
||||
1.3/ Double click the pypokereval-138-win32-py265-fpdb-1.1.exe and extract the folder to the desktop
|
||||
|
||||
|
||||
2. Prepare a folder containing the items needing packaging
|
||||
----------------------------------------------------------
|
||||
|
||||
dos>cd desktop
|
||||
dos>mkdir pypokereval138-installer-win32-py265-fpdb
|
||||
dos>cd pypokereval138-installer-win32-py265-fpdb
|
||||
dos>mkdir payload
|
||||
dos>cd payload
|
||||
|
||||
dos>copy ..\..\pypokereval-138-win32-py265-fpdb-1.1\_pokereval_2_6.pyd
|
||||
dos>copy ..\..\pypokereval-138-win32-py265-fpdb-1.1\pokereval.py
|
||||
|
||||
dos>mkdir utils
|
||||
dos>cd utils
|
||||
dos>copy ..\..\..\pypokereval-138-win32-py265-fpdb-1.1\test.py
|
||||
dos>cd ..
|
||||
|
||||
The next step is to rename the pokereval.py file to __init__.py. The reason for doing this
|
||||
is that site-packages require an __init__ file to be found when the module is imported at runtime
|
||||
Inserting a dummy __init__.py which simply imports pokereval does not work, the reason being that the
|
||||
PokerEval class is not seen by the caller. Syntax such as "from pokereval import PokerEval"
|
||||
does not work unless the pokereval.py (which defines the PokerEval class) is renamed to __init__.py.
|
||||
|
||||
dos> rename pokereval.py __init__.py
|
||||
|
||||
3. Prepare the additional packaging files
|
||||
|
||||
dos>cd desktop
|
||||
dos>cd pypokereval138-installer-win32-py265-fpdb
|
||||
|
||||
3.1/ setup.py
|
||||
-------------
|
||||
|
||||
dos> edit setup.py
|
||||
|
||||
Include the following python code:
|
||||
|
||||
#==================================================
|
||||
|
||||
from distutils.core import setup
|
||||
|
||||
filelist = ["utils/*", "_pokereval_2_6.pyd"]
|
||||
|
||||
setup(name = "pokereval",
|
||||
version = "138",
|
||||
description = "pypokereval installer (unofficial)",
|
||||
author = "project fpdb",
|
||||
author_email = "Fpdb-main@lists.sourceforge.net",
|
||||
url = "fpdb.sourceforge.net",
|
||||
packages = ['pokereval'],
|
||||
package_data = {'pokereval' : filelist },
|
||||
long_description = """An unofficial installer for pypokereval v138, win32, python v2.6.5
|
||||
pokereval official project page is at http://www.pokersource.info/"""
|
||||
)
|
||||
|
||||
#==================================================
|
||||
|
||||
3.2 / review directory tree
|
||||
---------------------------
|
||||
|
||||
The following structure should now exist.
|
||||
|
||||
pypokereval138-installer-win32-py265-fpdb
|
||||
|--setup.py
|
||||
|--pokereval
|
||||
|--_pokereval_2_6.pyd
|
||||
|--__init__.py
|
||||
|--utils
|
||||
|--test.py
|
||||
|
||||
|
||||
3.3 Build
|
||||
---------
|
||||
|
||||
Navigate to the desktop/pypokereval138-installer-win32-py265-fpdb directory
|
||||
|
||||
dos>c:\Python26\python.exe setup.py bdist_wininst --plat-name=win32 --user-access-control auto
|
||||
|
||||
3.4 Complete
|
||||
------------
|
||||
|
||||
The executable file pokereval-138.win32.exe will be in the newly-created dist folder.
|
||||
|
||||
3.5 Install and test
|
||||
--------------------
|
||||
|
||||
Double click to install
|
||||
Navigate to c:\python26\lib\site-packages\pokereval\test
|
||||
|
||||
execute dos>c:\Python26\python.exe test.py
|
||||
|
||||
Output should scroll down the screen
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user