Open
Description
Description
Building of the example archive package does not work because Debian/Ubuntu has different behavior for Python.
Steps to reproduce the issue:
- Install
python-pip
on Debian (stable or testing as of this writing). git clone https://github.com/iopipe/examples/
cd examples
cd python
python3 archive.py
Describe the results you received:
An invalid archive.zip
with the given error trace:
stephanie@oaktree:~/iopipe/iopipe-examples/python$ python3 archive.py
Installing dependencies into libs directory...
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 360, in run
prefix=options.prefix_path,
File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 784, in install
**kwargs
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/usr/lib/python2.7/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 247, in move_wheel_files
prefix=prefix,
File "/usr/lib/python2.7/dist-packages/pip/locations.py", line 153, in distutils_scheme
i.finalize_options()
File "/usr/lib/python2.7/distutils/command/install.py", line 289, in finalize_options
raise DistutilsOptionError("can't combine user with prefix, "
DistutilsOptionError: can't combine user with prefix, exec_prefix/home, or install_(plat)base
Generating archive.zip...
@kolanos
From: iopipe/iopipe-python#248
Describe the results you expected:
Getting archive.zip
that is valid and no nasty error messages.
Additional information you deem important (e.g. issue happens only occasionally):
Adding --system
before -t
makes the build a success using the archive.py
script.
subprocess.call([PIP, 'install', '-r', 'requirements.txt', '--system', '-t', 'libs'], stdout=subprocess.PIPE)
See: