mirror of https://github.com/python/cpython
Closes #21197: Add lib64 -> lib symlink in venvs on 64-bit non-OS X POSIX.
This commit is contained in:
commit
4382ad6e02
|
@ -9,6 +9,7 @@ import ensurepip
|
||||||
import os
|
import os
|
||||||
import os.path
|
import os.path
|
||||||
import shutil
|
import shutil
|
||||||
|
import struct
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
|
@ -87,6 +88,14 @@ class BasicTest(BaseTest):
|
||||||
self.isdir(self.bindir)
|
self.isdir(self.bindir)
|
||||||
self.isdir(self.include)
|
self.isdir(self.include)
|
||||||
self.isdir(*self.lib)
|
self.isdir(*self.lib)
|
||||||
|
# Issue 21197
|
||||||
|
p = self.get_env_file('lib64')
|
||||||
|
conditions = ((struct.calcsize('P') == 8) and (os.name == 'posix') and
|
||||||
|
(sys.platform != 'darwin'))
|
||||||
|
if conditions:
|
||||||
|
self.assertTrue(os.path.islink(p))
|
||||||
|
else:
|
||||||
|
self.assertFalse(os.path.exists(p))
|
||||||
data = self.get_text_file_contents('pyvenv.cfg')
|
data = self.get_text_file_contents('pyvenv.cfg')
|
||||||
if sys.platform == 'darwin' and ('__PYVENV_LAUNCHER__'
|
if sys.platform == 'darwin' and ('__PYVENV_LAUNCHER__'
|
||||||
in os.environ):
|
in os.environ):
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
"""
|
"""
|
||||||
Virtual environment (venv) package for Python. Based on PEP 405.
|
Virtual environment (venv) package for Python. Based on PEP 405.
|
||||||
|
|
||||||
Copyright (C) 2011-2012 Vinay Sajip.
|
Copyright (C) 2011-2014 Vinay Sajip.
|
||||||
Licensed to the PSF under a contributor agreement.
|
Licensed to the PSF under a contributor agreement.
|
||||||
|
|
||||||
usage: python -m venv [-h] [--system-site-packages] [--symlinks] [--clear]
|
usage: python -m venv [-h] [--system-site-packages] [--symlinks] [--clear]
|
||||||
|
@ -30,6 +30,7 @@ optional arguments:
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
|
import struct
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import types
|
import types
|
||||||
|
@ -132,10 +133,18 @@ class EnvBuilder:
|
||||||
else:
|
else:
|
||||||
binname = 'bin'
|
binname = 'bin'
|
||||||
incpath = 'include'
|
incpath = 'include'
|
||||||
libpath = os.path.join(env_dir, 'lib', 'python%d.%d' % sys.version_info[:2], 'site-packages')
|
libpath = os.path.join(env_dir, 'lib',
|
||||||
|
'python%d.%d' % sys.version_info[:2],
|
||||||
|
'site-packages')
|
||||||
context.inc_path = path = os.path.join(env_dir, incpath)
|
context.inc_path = path = os.path.join(env_dir, incpath)
|
||||||
create_if_needed(path)
|
create_if_needed(path)
|
||||||
create_if_needed(libpath)
|
create_if_needed(libpath)
|
||||||
|
# Issue 21197: create lib64 as a symlink to lib on 64-bit non-OS X POSIX
|
||||||
|
if ((struct.calcsize('P') == 8) and (os.name == 'posix') and
|
||||||
|
(sys.platform != 'darwin')):
|
||||||
|
p = os.path.join(env_dir, 'lib')
|
||||||
|
link_path = os.path.join(env_dir, 'lib64')
|
||||||
|
os.symlink(p, link_path)
|
||||||
context.bin_path = binpath = os.path.join(env_dir, binname)
|
context.bin_path = binpath = os.path.join(env_dir, binname)
|
||||||
context.bin_name = binname
|
context.bin_name = binname
|
||||||
context.env_exe = os.path.join(binpath, exename)
|
context.env_exe = os.path.join(binpath, exename)
|
||||||
|
|
|
@ -46,6 +46,8 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #21197: Add lib64 -> lib symlink in venvs on 64-bit non-OS X POSIX.
|
||||||
|
|
||||||
- Issue #17498: Some SMTP servers disconnect after certain errors, violating
|
- Issue #17498: Some SMTP servers disconnect after certain errors, violating
|
||||||
strict RFC conformance. Instead of losing the error code when we issue the
|
strict RFC conformance. Instead of losing the error code when we issue the
|
||||||
subsequent RSET, smtplib now returns the error code and defers raising the
|
subsequent RSET, smtplib now returns the error code and defers raising the
|
||||||
|
|
Loading…
Reference in New Issue