|
1 | 1 | """ |
2 | 2 | Virtual environment (venv) package for Python. Based on PEP 405. |
3 | 3 |
|
4 | | -Copyright (C) 2011-2012 Vinay Sajip. |
| 4 | +Copyright (C) 2011-2014 Vinay Sajip. |
5 | 5 | Licensed to the PSF under a contributor agreement. |
6 | 6 |
|
7 | 7 | usage: python -m venv [-h] [--system-site-packages] [--symlinks] [--clear] |
|
30 | 30 | import logging |
31 | 31 | import os |
32 | 32 | import shutil |
| 33 | +import struct |
33 | 34 | import subprocess |
34 | 35 | import sys |
35 | 36 | import types |
@@ -132,10 +133,18 @@ def create_if_needed(d): |
132 | 133 | else: |
133 | 134 | binname = 'bin' |
134 | 135 | incpath = 'include' |
135 | | - libpath = os.path.join(env_dir, 'lib', 'python%d.%d' % sys.version_info[:2], 'site-packages') |
| 136 | + libpath = os.path.join(env_dir, 'lib', |
| 137 | + 'python%d.%d' % sys.version_info[:2], |
| 138 | + 'site-packages') |
136 | 139 | context.inc_path = path = os.path.join(env_dir, incpath) |
137 | 140 | create_if_needed(path) |
138 | 141 | create_if_needed(libpath) |
| 142 | + # Issue 21197: create lib64 as a symlink to lib on 64-bit non-OS X POSIX |
| 143 | + if ((struct.calcsize('P') == 8) and (os.name == 'posix') and |
| 144 | + (sys.platform != 'darwin')): |
| 145 | + p = os.path.join(env_dir, 'lib') |
| 146 | + link_path = os.path.join(env_dir, 'lib64') |
| 147 | + os.symlink(p, link_path) |
139 | 148 | context.bin_path = binpath = os.path.join(env_dir, binname) |
140 | 149 | context.bin_name = binname |
141 | 150 | context.env_exe = os.path.join(binpath, exename) |
|
0 commit comments