2010-12-12 00:59:45 +01:00
|
|
|
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 ...
|
|
|
|
|
2010-12-12 20:54:43 +01:00
|
|
|
pypokereval ... http://sourceforge.net/projects/fpdb/files/fpdb/pypoker-eval-win32/dev/pypokereval-138-win32-py265-fpdb-1.1.exe/download
|
2010-12-12 00:59:45 +01:00
|
|
|
|
|
|
|
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
|
2010-12-12 20:54:43 +01:00
|
|
|
dos>mkdir temp
|
|
|
|
dos>cd temp
|
|
|
|
dos>mkdir pokereval
|
|
|
|
dos>cd pokereval
|
2010-12-12 00:59:45 +01:00
|
|
|
|
|
|
|
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
|
2010-12-12 20:54:43 +01:00
|
|
|
-----------------------------------------
|
2010-12-12 00:59:45 +01:00
|
|
|
|
|
|
|
dos>cd desktop
|
2010-12-12 20:54:43 +01:00
|
|
|
dos>cd temp
|
2010-12-12 00:59:45 +01:00
|
|
|
|
|
|
|
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 },
|
2010-12-12 20:54:43 +01:00
|
|
|
long_description = """An unofficial and experimental installer for pypokereval v138
|
|
|
|
Built for 32bit windows and python v2.6.5
|
|
|
|
pokereval official project page is at http://www.pokersource.info/"""
|
2010-12-12 00:59:45 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
#==================================================
|
|
|
|
|
|
|
|
3.2 / review directory tree
|
|
|
|
---------------------------
|
|
|
|
|
|
|
|
The following structure should now exist.
|
|
|
|
|
2010-12-12 20:54:43 +01:00
|
|
|
temp
|
2010-12-12 00:59:45 +01:00
|
|
|
|--setup.py
|
|
|
|
|--pokereval
|
|
|
|
|--_pokereval_2_6.pyd
|
|
|
|
|--__init__.py
|
|
|
|
|--utils
|
|
|
|
|--test.py
|
|
|
|
|
|
|
|
|
|
|
|
3.3 Build
|
|
|
|
---------
|
|
|
|
|
2010-12-12 20:54:43 +01:00
|
|
|
Navigate to the desktop/temp directory
|
2010-12-12 00:59:45 +01:00
|
|
|
|
2010-12-12 20:54:43 +01:00
|
|
|
dos>c:\Python26\python.exe setup.py bdist_wininst --plat-name=win32 --user-access-control force
|
|
|
|
|
|
|
|
Note: UAC auto seems to cause lockup on my win7 system
|
2010-12-12 00:59:45 +01:00
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
|
|
|