Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #85558

Re: building c extensions with setuptools that are not tied to python installed on build machine

Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <python-python-list@m.gmane.org>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'python.': 0.02; 'subject:not': 0.03; 'third-party': 0.04; '(especially': 0.07; 'binary': 0.07; 'paths': 0.07; 'instances.': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'setup.py': 0.09; 'subject:build': 0.09; 'python': 0.11; 'anyone?': 0.16; 'c++)': 0.16; 'doing,': 0.16; 'files)': 0.16; 'mixture': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'subject:python': 0.16; 'extensions': 0.16; 'wrote:': 0.18; 'module': 0.19; 'packages.': 0.19; 'projects,': 0.19; 'version.': 0.19; 'seems': 0.21; 'header:User-Agent:1': 0.23; 'frameworks': 0.24; 'library,': 0.24; '(or': 0.24; 'extension': 0.26; 'header:X -Complaints-To:1': 0.27; 'absolute': 0.30; "i'm": 0.30; 'url:mailman': 0.30; 'work.': 0.31; 'code': 0.31; 'getting': 0.31; 'libraries': 0.31; 'subject:that': 0.31; 'anyone': 0.31; 'file': 0.32; 'python.org': 0.32; "we're": 0.32; 'quite': 0.32; 'url:python': 0.33; 'sense': 0.34; 'problem': 0.35; 'subject:with': 0.35; 'common': 0.35; 'created': 0.35; 'something': 0.35; 'there': 0.35; 'c++': 0.36; 'instances': 0.36; 'url:listinfo': 0.36; 'doing': 0.36; 'shows': 0.36; 'charset:us- ascii': 0.36; 'possible': 0.36; 'url:org': 0.36; 'project': 0.37; 'list.': 0.37; 'to:addr:python-list': 0.38; 'files': 0.38; 'little': 0.38; 'does': 0.39; 'embedded': 0.39; 'to:addr:python.org': 0.39; 'received:org': 0.40; 'url:mail': 0.40; 'how': 0.40; 'tell': 0.60; 'new': 0.61; 'simple': 0.61; 'our': 0.64; 'different': 0.65; 'taking': 0.65; 'linked': 0.65; 'due': 0.66; 'containing': 0.69; 'article': 0.77; 'skip:/ 30': 0.84; 'wheel': 0.84; 'differences': 0.93
X-Injected-Via-Gmane http://gmane.org/
To python-list@python.org
From Ned Deily <nad@acm.org>
Subject Re: building c extensions with setuptools that are not tied to python installed on build machine
Date Wed, 11 Feb 2015 16:23:05 -0800
References <CAJv6nDPHGinODQq1Fkh1-uBcYzq2CHag7QJxsbQ0_pHT5z8EQQ@mail.gmail.com>
Mime-Version 1.0
Content-Type text/plain; charset=US-ASCII
Content-Transfer-Encoding 7bit
X-Gmane-NNTP-Posting-Host 27.96.197.126
User-Agent MT-NewsWatcher/3.5.3b3 (Intel Mac OS X)
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.18673.1423700610.18130.python-list@python.org> (permalink)
Lines 44
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1423700610 news.xs4all.nl 2943 [2001:888:2000:d::a6]:40473
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:85558

Show key headers only | View raw


In article 
<CAJv6nDPHGinODQq1Fkh1-uBcYzq2CHag7QJxsbQ0_pHT5z8EQQ@mail.gmail.com>,
 Matthew Taylor <matt@numenta.org> wrote:
> Does this make sense to anyone? I'm still a little new to Python in
> general (especially binary packaging), and it seems like this would be
> a common problem for any projects with C extensions that need broad
> binary distribution. Does anyone have any suggestions? Please take a
> look at our setup.py file [4] and tell me if we're doing something
> egregiously wrong.

Just taking a quick look at your setup.py there shows a quite 
complicated build, including SWIG.  One suggestion: keep in mind that 
it's normal on OS X for the absolute path of shared libraries and 
frameworks to be embedded in the linked binaries, including the C (or 
C++) extension module bundles (.so files) built for Python packages.  If 
any of the .so files or any other binary artifacts (executables, shared 
libraries) created by your package are linked to the Python 
interpreter's shared library, that may be why you are getting a mixture 
of Python instances.  One way to check for this is to use:

otool -L *.so *.dylib

on all of the directories containing linked binaries in your project and 
check for paths like:
/System/Library/Frameworks/Python.framework 

That would be a link to the Apple-supplied system Python.

A link to /Library/Frameworks/Python.framework or some other path would 
be to a third-party Python like from python.org or Homebrew.

Due to differences in how the various Pythons are built and depending on 
what the C or C++ code is doing, it may not be possible to have one 
binary wheel that works with different Python instances of the same 
version.  For many simple projects, it does work.

You *could* also ask on the PythonMac SIG list.

https://mail.python.org/mailman/listinfo/pythonmac-sig

-- 
 Ned Deily,
 nad@acm.org

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: building c extensions with setuptools that are not tied to python installed on build machine Ned Deily <nad@acm.org> - 2015-02-11 16:23 -0800

csiph-web