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.

Reply via email to