Comments you submit will be routed for moderation. If you have an account, please log in first.
Modify

Ticket #236 (closed defect: fixed)

Opened 3 years ago

Last modified 7 weeks ago

do not generate any file within the app dir

Reported by: matysek Owned by: matysek
Priority: normal Milestone: PyInstaller 2.1
Component: PyInstaller Version:
Severity: normal Keywords:
Cc: h.goebel@…

Description

make PyInstaller? not generate any file within the application directory but only in the build directory (I'm thinking of log files, warning files and so on). I don't think dropping them next to source code is useful and it messes up the tree.

This will require to modify files: Configure.py, Makespec.py, Build.py, pyinstaller.py.

Attachments

Change History

comment:1 Changed 2 years ago by matysek

  • Owner changed from giovannibajo to matysek
  • Milestone changed from PyInstaller 2.0 to PyInstaller 1.6

comment:2 follow-up: ↓ 3 Changed 2 years ago by gendoikari

Is this ticked resolved with r1263?

comment:3 in reply to: ↑ 2 Changed 2 years ago by gendoikari

Replying to gendoikari:

Is this ticked resolved with r1263?

Oh noes, r1262, not r1263... sorry

comment:4 Changed 2 years ago by matysek

I think it's only a part of it there should be something else.

This ticket is based on the following conversation in mailing list with giovanni:

> In the milestone 1.5 is that you'd like to have there an option
> '--rebuild'.
> 
> What all should be done when this option is invoked?
> 
> My suggestion:
> - remove bincache* folders
> - remove folders in MY_APP/build MY_APP/dist
> - run again Configure.py

Correct. Working on this stuff you might want also to make PyInstaller
not generate any file within the application directory but only in the
build directory (I'm thinking of log files, warning files and so on). I
don't think dropping them next to source code is useful and it messes up
the tree.

PS: I think this stuff belongs to 1.6 at this point.

comment:5 Changed 2 years ago by matysek

Perhaps files like logdict2.6.4.final.0-1.log should be moved somewhere else?

comment:6 follow-up: ↓ 7 Changed 2 years ago by gendoikari

With r1264 logs are collocated in build directory (if it exists). I do not find any other kind of files generated during building process.

comment:7 in reply to: ↑ 6 Changed 2 years ago by matysek

Replying to gendoikari:

With r1264 logs are collocated in build directory (if it exists). I do not find any other kind of files generated during building process.

Thanks for taking care of this. The issue is that files logdict2.6.4.final.0-1.log are not specific to any application, so having them in folder named build seems little weird.

I think we should move to the build folder also all applications created by pyinstaller. I would suggest the following structure:

./trunk/build
./trunk/build/logdict2.6.4.final.0-1.log
./trunk/build/MY_APP_NAME
./trunk/build/MY_APP_NAME/build
./trunk/build/MY_APP_NAME/dist
./trunk/build/MY_APP_NAME-warntest.txt

Or alternatively we could put files like logdict... and warntest.txt to a separate folder like ./trunk/logs

However for this change we need input from giovanni and his approval.

comment:8 Changed 2 years ago by htgoebel

  • Cc h.goebel@… added

Logdict is used by ImportTracker?, thus used by configure and build. So it is depending on the application in some cases. Since it is only used for debugging, I think there is no need to care about the application and "build/" would by a good place.

Current implementation r1426 is weired:

  • If current dir is HOMEPATH, all logdicts are written into the current dir.
  • If current dir is not HOMEPATH, two logdicts are written into current dir and one is written into "build/". This is due the fact that "build/" does not exist when the first two files are to be created.

A goos solution is not easy, since ImportTracker? would need to know he name of the application. At least when in "configure" phase, the name is unknown.

A work-around could be to write the files into CONFIGDIR.

comment:9 Changed 13 months ago by matysek

  • Milestone changed from PyInstaller 2.0 to PyInstaller 2.1

comment:10 Changed 7 weeks ago by matysek

  • Status changed from new to closed
  • Resolution set to fixed

This is already implemented. All temporary files are now in ./build directory (including warnings and log files) and files for distribution in ./dist directory.

View

Add a comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.