New submission from Dave Jones:

While attempting to diagnose something (unrelated to this issue) under python 
3.6, I used the following steps to clone and build a non-root python 

    $ mkdir py36
    $ hg clone
    $ cd cpython
    $ hg update 3.6
    $ ./configure --prefix=/home/pi/py36
    $ make
    $ make install

Afterwards I attempted to set up a venv for further testing:

    $ /home/pi/py36/bin/python3 -m venv py36env

This succeeded but, unfortunately, activating the venv proved impossible as the 
"activate" script was missing from its "bin" sub-dir. 

After a bit of investigation it appears that "make install" had copied 
"Lib/venv/scripts/posix" but not "Lib/venv/scripts/common" into the 
installation, hence the templates for "activate.csh" and "" are 
present, but not the "activate" template.

I had a search around for related issues but only found #22343 which explains 
why "activate" is no longer present (because it's moved from scripts/posix/ to 
scripts/common/) but I don't think is responsible for common not getting copied 
by "make install".

It appears adding "venv/scripts/common" to LIBSUBDIRS in fixes 
the issue (as in the attached patch) but I've no idea if this covers all 
necessary platforms (I'd guess Windows doesn't use the Makefile if #22343 fixed 
things for it?).

components: Installation
files: missing_venv_common.diff
keywords: patch
messages: 285403
nosy: Dave Jones
priority: normal
severity: normal
status: open
title: Missing venv/scripts/common after "make install"
type: behavior
versions: Python 3.6, Python 3.7
Added file:

Python tracker <>
Python-bugs-list mailing list

Reply via email to