PEX , . , PEX Linux, Mac. , PEX. , , .
, , , psutil. C, . PEX, , , , .
- pip .
:
- pex Linux Mac
Linux,
PEX Mac.
- ~/src/cookbook
, pex.
import psutil
for proc in psutil.process_iter():
try:
pinfo = proc.as_dict(attrs=['pid', 'name'])
except psutil.NoSuchProcess:
pass
else:
print(pinfo)
Pants , python_binary target BUILD:
python_binary(name='ps_example',
source = 'main.py',
dependencies = [
':psutil',
],
)
python_requirements()
python requirements.txt:
psutil==3.1.1
, pex, Linux, psutil Linux. requirements.txt linux, pip:
linux $ mkdir ~/src/cookbook/wheelhouse
linux $ pip wheel -r src/python/multi-platform/requirements.txt \
--wheel-dir=~/src/cookbook/wheelhouse
.
linux $ ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl
, pex ( Mac-). , , , Python .
BUILD, , python_binary, platforms=.
python_binary(name='ps_example',
source = 'main.py',
dependencies = [
':psutil',
],
platforms=[
'linux-x86_64',
'macosx-10.7-x86_64',
],
)
python_requirements()
, python. pants.ini :
[python-repos]
repos: [
"%(buildroot)s/wheelhouse/"
]
psutil-3.1.1-cp27-none-linux_x86_64.whl Mac wheelhouse/ .
, pex
mac $ ./pants binary src/python/py_example
, Mac Linux pex, :
mac $ unzip -l dist/ps_example.pex | grep psutil
17290 12-21-15 22:09 .deps/psutil-3.1.1-cp27-none-linux_x86_64.whl/psutil-3.1.1.dist-info/DESCRIPTION.rst
19671 12-21-15 22:09 .deps/psutil-3.1.1-cp27-none-linux_x86_64.whl/psutil-3.1.1.dist-info/METADATA
1340 12-21-15 22:09 .deps/psutil-3.1.1-cp27-none-linux_x86_64.whl/psutil-3.1.1.dist-info/RECORD
103 12-21-15 22:09
... .deps/psutil-3.1.1-cp27-none-macosx_10_11_intel.whl/psutil-3.1.1.dist-info/DESCRIPTION.rst
19671 12-21-15 22:09 .deps/psutil-3.1.1-cp27-none-macosx_10_11_intel.whl/psutil-3.1.1.dist-info/METADATA
1338 12-21-15 22:09 .deps/psutil-3.1.1-cp27-none-macosx_10_11_intel.whl/psutil-3.1.1.dist-info/RECORD
109 12-21-15 22:09
...