A few ideas on how to do this: > Hmm, is there a way to capture data file requirements as command-line options?
Yes, mostly: write a hook file for your project that defines the appropriate datas, then pass the path to your hook file on the command line. > It would be sweet if in the future PyInstaller could somehow reuse the project’s MANIFEST.in for this kind of stuff. I agree. What might make this more generalizable: write a hook utility function (perhaps collect_manifest) that would read a MANIFEST.in and convert that to datas in a hook file? That way, if an app depends on several other packages which have MANIFEST.in available, all of these can be used by pyinstaller. Bryan On Fri, Jan 29, 2016 at 4:22 PM, Nicholas Chammas < nicholas.cham...@gmail.com> wrote: > Makes sense. I’ll report back if I find there is something I need that I > can’t do from the command line interface. > > Hmm, is there a way to capture data file requirements as command-line > options? > > a = Analysis( > ['my-program.py'], > datas=[ > ('data-dir', './data-dir'), > ('some-file', './some-file'), > ], > > It doesn’t seem to be the case. Maybe in my case I need to check in my > .spec file. > > (This reminds me, by the way, of my post here > <https://github.com/pyinstaller/pyinstaller/issues/1758>. It would be > sweet if in the future PyInstaller could somehow reuse the project’s > MANIFEST.in for this kind of stuff.) > > Nick > > On Thursday, January 28, 2016 at 5:36:38 PM UTC-5, Nicholas Chammas wrote: > > You may have a look at brog -backup: https://github.com/borgbackup/borg >>> >> Thanks for the reference! Looks like this is the money shot >> <https://github.com/borgbackup/borg/blob/0ec998cb3b92853b7026068caa7acc7d467ebe5e/Vagrantfile#L236-L244> >> . >> >> As long as you can pass all required parameters on the command line, I'd >>> suggest *not* using a .spec-file. This eases updating for the case the >>> .spec-file would change or get new features. >>> >> Makes sense. I’ll report back if I find there is something I need that I >> can’t do from the command line interface. >> >> >>> - Do they restructure their project in any way to better support >>> PyInstaller? >>> >>> If you are using virtual environments, this should not be necessary. >>> Just setup the virtual env, install everything required into it, an run >>> pyinstaller. >>> >> Ah, in my case I had to make a small change to add a script that can be >> called directly, like python3 my-program.py. That’s because the normal >> way to invoke my program is via a console_scripts entry point, and >> PyInstaller >> doesn’t know how to interface with that yet >> <https://github.com/pyinstaller/pyinstaller/issues/305> (as you know). >> >> >>> - Do they use CI services like Travis and AppVeyor to automatically >>> test their packaging process and generate release artifacts for the >>> various >>> OSes? >>> >>> borg backup uses travis and Vagrant. (I personally find the later one >>> very interesting and adopted it for building PyInstallers bootloader.) >>> >> Interesting. I’ll take a look at Travis first since it supports uploading >> artifacts to S3 <https://docs.travis-ci.com/user/uploading-artifacts/>. >> So I can have PyInstaller run as one of my “tests” and publish the result >> to S3. >> >> Nick >> >> > > > -- > You received this message because you are subscribed to the Google Groups > "PyInstaller" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to pyinstaller+unsubscr...@googlegroups.com. > To post to this group, send email to pyinstaller@googlegroups.com. > Visit this group at https://groups.google.com/group/pyinstaller. > For more options, visit https://groups.google.com/d/optout. > -- Bryan A. Jones, Ph.D. Associate Professor Department of Electrical and Computer Engineering 231 Simrall / PO Box 9571 Mississippi State University Mississippi state, MS 39762 http://www.ece.msstate.edu/~bjones bjones AT ece DOT msstate DOT edu voice 662-325-3149 fax 662-325-2298 Our Master, Jesus Christ, is on his way. He'll show up right on time, his arrival guaranteed by the Blessed and Undisputed Ruler, High King, High God. - 1 Tim. 6:14b-15 (The Message) -- You received this message because you are subscribed to the Google Groups "PyInstaller" group. To unsubscribe from this group and stop receiving emails from it, send an email to pyinstaller+unsubscr...@googlegroups.com. To post to this group, send email to pyinstaller@googlegroups.com. Visit this group at https://groups.google.com/group/pyinstaller. For more options, visit https://groups.google.com/d/optout.