Adding more informative error messages
This commit is contained in:
@@ -70,9 +70,14 @@ def build(project_dir, output_dir, test_command, test_requires, test_extras, bef
|
|||||||
{environment_exports}
|
{environment_exports}
|
||||||
|
|
||||||
# check the active python and pip are in PYBIN
|
# check the active python and pip are in PYBIN
|
||||||
# if `test` returns false, the script will exit due to errexit
|
if [ "$(which pip)" != "$PYBIN/pip" ]; then
|
||||||
test "$(which pip)" = "$PYBIN/pip"
|
echo "cibuildwheel: python available on PATH doesn't match our installed instance. If you have modified PATH, ensure that you don't overwrite cibuildwheel's entry or insert python above it."
|
||||||
test "$(which python)" = "$PYBIN/python"
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ "$(which python)" != "$PYBIN/python" ]; then
|
||||||
|
echo "cibuildwheel: pip available on PATH doesn't match our installed instance. If you have modified PATH, ensure that you don't overwrite cibuildwheel's entry or insert pip above it."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if [ ! -z {before_build} ]; then
|
if [ ! -z {before_build} ]; then
|
||||||
sh -c {before_build}
|
sh -c {before_build}
|
||||||
|
|||||||
+10
-4
@@ -2,6 +2,7 @@ import os
|
|||||||
import shlex
|
import shlex
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from glob import glob
|
from glob import glob
|
||||||
@@ -137,15 +138,20 @@ def build(project_dir, output_dir, test_command, test_requires, test_extras, bef
|
|||||||
# check what version we're on
|
# check what version we're on
|
||||||
call(['which', 'python'], env=env)
|
call(['which', 'python'], env=env)
|
||||||
call(['python', '--version'], env=env)
|
call(['python', '--version'], env=env)
|
||||||
# TODO Cleanup/merge with above `call` once we have `subprocess.run` after dropping Python 2 support?
|
which_python = subprocess.check_output(['which', 'python'], env=env, universal_newlines=True).strip()
|
||||||
assert subprocess.check_output(['which', 'python'], env=env, universal_newlines=True).strip() == '/tmp/cibw_bin/python'
|
if which_python != '/tmp/cibw_bin/python':
|
||||||
|
print("cibuildwheel: python available on PATH doesn't match our installed instance. If you have modified PATH, ensure that you don't overwrite cibuildwheel's entry or insert python above it.", file=sys.stderr)
|
||||||
|
exit(1)
|
||||||
|
|
||||||
# install pip & wheel
|
# install pip & wheel
|
||||||
call(['python', get_pip_script], env=env, cwd="/tmp")
|
call(['python', get_pip_script], env=env, cwd="/tmp")
|
||||||
assert os.path.exists(os.path.join(installation_bin_path, 'pip'))
|
assert os.path.exists(os.path.join(installation_bin_path, 'pip'))
|
||||||
|
call(['which', 'pip'], env=env)
|
||||||
call(['pip', '--version'], env=env)
|
call(['pip', '--version'], env=env)
|
||||||
# TODO Cleanup/merge with above `call` once we have `subprocess.run` after dropping Python 2 support?
|
which_pip = subprocess.check_output(['which', 'pip'], env=env, universal_newlines=True).strip()
|
||||||
assert subprocess.check_output(['which', 'pip'], env=env, universal_newlines=True).strip() == '/tmp/cibw_bin/pip'
|
if which_pip != '/tmp/cibw_bin/pip':
|
||||||
|
print("cibuildwheel: pip available on PATH doesn't match our installed instance. If you have modified PATH, ensure that you don't overwrite cibuildwheel's entry or insert pip above it.", file=sys.stderr)
|
||||||
|
exit(1)
|
||||||
call(['pip', 'install', '--upgrade', 'setuptools', 'wheel', 'delocate'], env=env)
|
call(['pip', 'install', '--upgrade', 'setuptools', 'wheel', 'delocate'], env=env)
|
||||||
|
|
||||||
# setup target platform, only required for python 3.5
|
# setup target platform, only required for python 3.5
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import sys
|
||||||
import tempfile
|
import tempfile
|
||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from glob import glob
|
from glob import glob
|
||||||
@@ -141,15 +142,19 @@ def build(project_dir, output_dir, test_command, test_requires, test_extras, bef
|
|||||||
simple_shell(['where', 'python'], env=env)
|
simple_shell(['where', 'python'], env=env)
|
||||||
simple_shell(['python', '--version'], env=env)
|
simple_shell(['python', '--version'], env=env)
|
||||||
simple_shell(['python', '-c', '"import struct; print(struct.calcsize(\'P\') * 8)"'], env=env)
|
simple_shell(['python', '-c', '"import struct; print(struct.calcsize(\'P\') * 8)"'], env=env)
|
||||||
# TODO Cleanup/merge with above `simple_shell` once we have `subprocess.run` after dropping Python 2 support?
|
where_python = subprocess.check_output(['where', 'python'], env=env, universal_newlines=True).splitlines()[0].strip()
|
||||||
assert subprocess.check_output(['where', 'python'], env=env, universal_newlines=True).splitlines()[0] == os.path.join(installation_path, 'python.exe')
|
if where_python != os.path.join(installation_path, 'python.exe'):
|
||||||
|
print("cibuildwheel: python available on PATH doesn't match our installed instance. If you have modified PATH, ensure that you don't overwrite cibuildwheel's entry or insert python above it.", file=sys.stderr)
|
||||||
|
exit(1)
|
||||||
|
|
||||||
# make sure pip is installed
|
# make sure pip is installed
|
||||||
if not os.path.exists(os.path.join(installation_path, 'Scripts', 'pip.exe')):
|
if not os.path.exists(os.path.join(installation_path, 'Scripts', 'pip.exe')):
|
||||||
simple_shell(['python', get_pip_script], env=env, cwd="C:\\cibw")
|
simple_shell(['python', get_pip_script], env=env, cwd="C:\\cibw")
|
||||||
assert os.path.exists(os.path.join(installation_path, 'Scripts', 'pip.exe'))
|
assert os.path.exists(os.path.join(installation_path, 'Scripts', 'pip.exe'))
|
||||||
# TODO Cleanup/merge with above `simple_shell` once we have `subprocess.run` after dropping Python 2 support?
|
where_pip = subprocess.check_output(['where', 'pip'], env=env, universal_newlines=True).splitlines()[0].strip()
|
||||||
assert subprocess.check_output(['where', 'pip'], env=env, universal_newlines=True).splitlines()[0] == os.path.join(installation_path, 'Scripts', 'pip.exe')
|
if where_pip.strip() != os.path.join(installation_path, 'Scripts', 'pip.exe'):
|
||||||
|
print("cibuildwheel: pip available on PATH doesn't match our installed instance. If you have modified PATH, ensure that you don't overwrite cibuildwheel's entry or insert pip above it.", file=sys.stderr)
|
||||||
|
exit(1)
|
||||||
|
|
||||||
# prepare the Python environment
|
# prepare the Python environment
|
||||||
simple_shell(['python', '-m', 'pip', 'install', '--upgrade', 'pip'], env=env)
|
simple_shell(['python', '-m', 'pip', 'install', '--upgrade', 'pip'], env=env)
|
||||||
|
|||||||
Reference in New Issue
Block a user