How to register my python package which relys on the output of other project on pypi
Hi, I'm writing a python-binding project for project A written in C++. Project A is on github. It supports compiling itself to produce .so in linux or .dll in windows. My python-binding project contains depends on the .dll and .so file. Now I want to register my package on pypi. So that users can install my package with only running `pip install XXXX`. I have to support both windows and linux. The only solution I can figure out is to include both .dll and .so in my package. This will end up with both .so and .dll installed in any platforms. It sounds dirty. Is there any better ways to achieve my goal? PS: The compile process of Project A is a little complicated, so I can't use python Extension to build my dynamic library. This question comes after this question https://mail.python.org/pipermail/distutils-sig/2016-June/029059.html Thanks in advance :) -- Best wishes, Young Yang
My pysdl2-cffi project has a dependency ':sys_platform=="win32"':
['sdl2_lib'] meaning 'depends on sdl2_lib only on Windows' (see its
setup.py). sdl2_lib is a specially made wheel that only contains DLL's for
Windows. On other platforms we don't try to install sdl2_lib, assuming you
have already installed SDL2 some other way.
If I wanted to distribute the Linux so's on PyPy I could upload a second
wheel with the 'manylinux1' tag, and pip would choose the right one.
Distributing Linux binaries is more complicated than for Windows, see PEP
513 and https://pypi.python.org/pypi/auditwheel
On Tue, Jun 7, 2016 at 10:32 AM Young Yang
Hi,
I'm writing a python-binding project for project A written in C++. Project A is on github. It supports compiling itself to produce .so in linux or .dll in windows. My python-binding project contains depends on the .dll and .so file.
Now I want to register my package on pypi. So that users can install my package with only running `pip install XXXX`.
I have to support both windows and linux. The only solution I can figure out is to include both .dll and .so in my package. This will end up with both .so and .dll installed in any platforms. It sounds dirty.
Is there any better ways to achieve my goal?
PS: The compile process of Project A is a little complicated, so I can't use python Extension to build my dynamic library.
This question comes after this question https://mail.python.org/pipermail/distutils-sig/2016-June/029059.html
Thanks in advance :)
-- Best wishes, Young Yang _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
Thanks your advice :)
Finally, I decide not to create an pypi package containing only binaries by
other program(not setup.py Extension).
Because I think my binding-project is an extension for project A, I should
assume the user has installed A successfully. Otherwise I will give some
information to guide users to install project A.
On Tue, Jun 7, 2016 at 11:05 PM, Daniel Holth
My pysdl2-cffi project has a dependency ':sys_platform=="win32"': ['sdl2_lib'] meaning 'depends on sdl2_lib only on Windows' (see its setup.py). sdl2_lib is a specially made wheel that only contains DLL's for Windows. On other platforms we don't try to install sdl2_lib, assuming you have already installed SDL2 some other way.
If I wanted to distribute the Linux so's on PyPy I could upload a second wheel with the 'manylinux1' tag, and pip would choose the right one. Distributing Linux binaries is more complicated than for Windows, see PEP 513 and https://pypi.python.org/pypi/auditwheel
On Tue, Jun 7, 2016 at 10:32 AM Young Yang
wrote: Hi,
I'm writing a python-binding project for project A written in C++. Project A is on github. It supports compiling itself to produce .so in linux or .dll in windows. My python-binding project contains depends on the .dll and .so file.
Now I want to register my package on pypi. So that users can install my package with only running `pip install XXXX`.
I have to support both windows and linux. The only solution I can figure out is to include both .dll and .so in my package. This will end up with both .so and .dll installed in any platforms. It sounds dirty.
Is there any better ways to achieve my goal?
PS: The compile process of Project A is a little complicated, so I can't use python Extension to build my dynamic library.
This question comes after this question https://mail.python.org/pipermail/distutils-sig/2016-June/029059.html
Thanks in advance :)
-- Best wishes, Young Yang _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org https://mail.python.org/mailman/listinfo/distutils-sig
-- Best wishes, Young Yang
participants (2)
-
Daniel Holth
-
Young Yang