Comments (5)
Can only offer my opinion, but I gave up writing exe / msi installers for my projects about 2 years ago, and Christoph Gohlke also only supplies wheels these days. The problem with the exe installers is that they don't match the usual Python workflow, and don't work with virtualenvs, so if you're going to provide them, you have to provide a whole extra set of careful install instructions. And yes, pip is now mature, so that I would have no hesitation in offering pip as the default or only install method.
Happy to hear other views though.
from multibuild.
I'd missed that Christoph Gohlke also only supplies wheels now -
http://www.lfd.uci.edu/~gohlke/pythonlibs/
Thanks for your thoughts on this, I think you're right there is now little reason to bother with making Windows installers for the projects I work on.
from multibuild.
Follow some local discussion I accept for some novices, point-and-click Windows installers are sometimes still easier to use than pip
at the command line. It might help if python
and pip
were added to the PATH
by default when installing Python on Windows, but they are not.
For reference, the existing appveyor.yml
will not test the MSI or EXE packages if generated in place of the wheel - so doing this properly with direct testing of the installers is more work.
However, if you are willing to test manually afterwards, this works to generate multiple packages, test the wheel, then upload all the wheel and exe to RackSpace:
build_script:
# ...
- "%CMD_IN_ENV% python setup.py bdist_wininst"
- "%CMD_IN_ENV% python setup.py bdist_msi"
- "%CMD_IN_ENV% python setup.py bdist_wheel"
e.g. biopython/biopython-wheels@f759a78 and https://ci.appveyor.com/project/biopython/biopython-wheels/build/1.0.45
Curiously this skips uploading the *.msi
files... I'm not sure which part of the stack is rejecting the extension.
from multibuild.
appveyor.yml
is one of the files that you customize for your project. Since you can add bdist_<whatever>
there just fine, I don't see how any changes to multibuild
are needed.
Likewise, in deploy_script:
, you can add whatever command to upload it wherever you need. If you're having trouble with that command, it's not multibuild
-related 'cuz multibuild
doesn't have any built-in upload functionality.
from multibuild.
Closing. Please reopen and make your case if you feel this is mistaken and you cannot work around it.
from multibuild.
Related Issues (20)
- How to select pypy3? HOT 8
- Build wheels for Python 3.10 RC1? HOT 3
- Testing manylinux_2_24 HOT 6
- Move to github actions for windows, mac, linux (x86, x86_64) HOT 5
- Port CI to Github Actions HOT 7
- get_modern_cmake - version 3?
- Cent OS 5 repos gone, manylinux1 builds fail
- Trouble building 3.10 wheels on OSX HOT 8
- Building thin arm64 wheels for MacOS 12+ HOT 5
- PLAT=x86_64 generates universal wheel for OSX & Python 3.10
- No supported wheels found for macOS arm64 HOT 1
- Recent git update has broken builds using docker images HOT 16
- Undefined symbol error with manylinux_2_28 wheel on Ubuntu 20.04 HOT 2
- LAPACK library is not found for macos builds HOT 5
- xenial_arm64v8:latest image is missing Py3.11 binary HOT 3
- Running safety prints a scary warning HOT 7
- platform = arm64 or universal2 both create x86_64 wheels HOT 1
- Use alpine 3.18 images by default for test
- python 3.11 and 3.12 builds failing on macosx and linux
- ./common_utils.sh: line 83: python: command not found HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from multibuild.