python / cpython

The Python programming language
https://www.python.org
Other
63.12k stars 30.22k forks source link

make install: make compileall optional #81356

Open 1f7c169c-a6ad-45ae-b614-0d40d962c776 opened 5 years ago

1f7c169c-a6ad-45ae-b614-0d40d962c776 commented 5 years ago
BPO 37175
Nosy @blueyed, @ned-deily

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields: ```python assignee = None closed_at = None created_at = labels = ['type-feature', 'expert-installation', '3.9'] title = 'make install: make compileall optional' updated_at = user = 'https://github.com/blueyed' ``` bugs.python.org fields: ```python activity = actor = 'ned.deily' assignee = 'none' closed = False closed_date = None closer = None components = ['Installation'] creation = creator = 'blueyed' dependencies = [] files = [] hgrepos = [] issue_num = 37175 keywords = [] message_count = 2.0 messages = ['344812', '344976'] nosy_count = 2.0 nosy_names = ['blueyed', 'ned.deily'] pr_nums = [] priority = 'normal' resolution = None stage = None status = 'open' superseder = None type = 'enhancement' url = 'https://bugs.python.org/issue37175' versions = ['Python 3.9'] ```

1f7c169c-a6ad-45ae-b614-0d40d962c776 commented 5 years ago

I'd like to make running compileall optionally during installation, since it takes quite a while by itself (with lots of output), and gets a bit into the way when installing often (e.g. with git-bisect).

AFAIK it should not be required, because the files would be compiled on demand as usual.

I could imagine having an explicit target for this, or a make variable to control this, i.e. "make install COMPILEALL=0".

ned-deily commented 5 years ago

In many installations, the user running Python would not have write access to the lib directory tree where the compiled byte files need to be created so we would not want to change the current default behavior. On the other hand, I could see some times when testing where it would speed things up to skip compiling.

The issue of tons of output is really a more important issue; it would be useful to be able to suppress all those lines of compile output as they rarely provide any useful information, perhaps even suppressing by default.