您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

裤子包括OS X特定的Python轮子

5b51 2022/1/14 8:20:28 python 字数 109901 阅读 465 来源 www.jb51.cc/python

TLDR:Pants提取OS X特定的轮子bc我正在Mac上开发.我该如何避免这种情况,或者指定我将部署到Ubuntu? 全文: 尝试使用Pants打包Python应用程序.到目前为止一直很好,但遇到了一个问题,我已经坚持了一段时间.我正在开发一个macbook,但部署到EC2 Ubuntu. 这是我到目前为止所做的: >创造了virtualenv. >为应用程序添加了BUILD文件,第三方软件包

概述

全文:

尝试使用Pants打包Python应用程序.到目前为止一直很好,但遇到了一个问题,我已经坚持了一段时间.我正在开发一个macbook,但部署到EC2 Ubuntu.

这是我到目前为止所做的:

>创造了virtualenv.
>为应用程序添加了BUILD文件,第三方软件包包含suggested 3rd party pattern.
> Ran ./pants run.py后端:admin_server运行正常并生成dist / admin_server.pex
>将.pex写入新的EC2 Ubuntu盒子.

但是,当我在那里运行应用程序时,我得到:

Failed to execute PEX file,missing compatible dependencies for:
    MysqL-python
    pycrypto@H_502_16@ 
 

问题似乎是裤子为这些2采用OS X特定的轮子:

pex: – MysqL_python-1.2.5-cp27-none-macosx_10_11_intel.whl
pex: – pycrypto-2.6.1-cp27-none-macosx_10_11_intel.whl

我该如何避免这种情况,或者指定它们应该运行哪个操作系统?

这是完整的输出

ubuntu@ip-***:~$export PEX_VERBOSE=1
ubuntu@ip-***:~$python admin_server.pex
pex: Found site-library: /usr/local/lib/python2.7/dist-packages
pex: Found site-library: /usr/lib/python2.7/dist-packages
pex: Tainted path element: /usr/local/lib/python2.7/dist-packages
pex: Tainted path element: /usr/lib/python2.7/dist-packages
pex: Scrubbing from site-packages: /usr/local/lib/python2.7/dist-packages
pex: Scrubbing from site-packages: /usr/lib/python2.7/dist-packages
pex: Scrubbing from user site: /home/ubuntu/.local/lib/python2.7/site-packages
pex: Failed to resolve a requirement: MysqL-python==1.2.5
pex: Failed to resolve a requirement: pycrypto==2.6.1
pex: Unresolved requirements:
pex:   - MysqL-python
pex:   - pycrypto
pex: Distributions contained within this pex:
pex:   - six-1.10.0-py2.py3-none-any.whl
pex:   - protobuf-2.6.1-py2.7.egg
pex:   - setuptools-19.5-py2.py3-none-any.whl
pex:   - MysqL_python-1.2.5-cp27-none-macosx_10_11_intel.whl
pex:   - pycrypto-2.6.1-cp27-none-macosx_10_11_intel.whl
pex:   - futures-3.0.4-py2-none-any.whl
pex:   - webapp2-2.5.2-py2-none-any.whl
pex:   - requests-2.9.0-py2.py3-none-any.whl
pex:   - jmespath-0.9.0-py2.py3-none-any.whl
pex:   - beautifulsoup4-4.4.1-py2-none-any.whl
pex:   - python_dateutil-2.4.2-py2.py3-none-any.whl
pex:   - boto3-1.2.3-py2.py3-none-any.whl
pex:   - WebOb-1.5.1-py2.py3-none-any.whl
pex:   - cssutils-1.0.1-py2-none-any.whl
pex:   - webapp2_static-0.1-py2-none-any.whl
pex:   - Paste-2.0.2-py2-none-any.whl
pex:   - docutils-0.12-py2-none-any.whl
pex:   - botocore-1.3.22-py2.py3-none-any.whl
pex:   - protobuf_to_dict-0.1.0-py2-none-any.whl
Failed to execute PEX file,missing compatible dependencies for:
MysqL-python
pycrypto@H_502_16@ 
 

PS:为了确保我没有包含我的python库版本,我pip卸载了PyCrypto和MysqL-Python.

ubuntu@ip-***:~$export PEX_VERBOSE=1
ubuntu@ip-***:~$python admin_server.pex
pex: Found site-library: /usr/local/lib/python2.7/dist-packages
pex: Found site-library: /usr/lib/python2.7/dist-packages
pex: Tainted path element: /usr/local/lib/python2.7/dist-packages
pex: Tainted path element: /usr/lib/python2.7/dist-packages
pex: Scrubbing from site-packages: /usr/local/lib/python2.7/dist-packages
pex: Scrubbing from site-packages: /usr/lib/python2.7/dist-packages
pex: Scrubbing from user site: /home/ubuntu/.local/lib/python2.7/site-packages
pex: Failed to resolve a requirement: MysqL-python==1.2.5
pex: Failed to resolve a requirement: pycrypto==2.6.1
pex: Unresolved requirements:
pex:   - MysqL-python
pex:   - pycrypto
pex: Distributions contained within this pex:
pex:   - six-1.10.0-py2.py3-none-any.whl
pex:   - protobuf-2.6.1-py2.7.egg
pex:   - setuptools-19.5-py2.py3-none-any.whl
pex:   - MysqL_python-1.2.5-cp27-none-macosx_10_11_intel.whl
pex:   - pycrypto-2.6.1-cp27-none-macosx_10_11_intel.whl
pex:   - futures-3.0.4-py2-none-any.whl
pex:   - webapp2-2.5.2-py2-none-any.whl
pex:   - requests-2.9.0-py2.py3-none-any.whl
pex:   - jmespath-0.9.0-py2.py3-none-any.whl
pex:   - beautifulsoup4-4.4.1-py2-none-any.whl
pex:   - python_dateutil-2.4.2-py2.py3-none-any.whl
pex:   - boto3-1.2.3-py2.py3-none-any.whl
pex:   - WebOb-1.5.1-py2.py3-none-any.whl
pex:   - cssutils-1.0.1-py2-none-any.whl
pex:   - webapp2_static-0.1-py2-none-any.whl
pex:   - Paste-2.0.2-py2-none-any.whl
pex:   - docutils-0.12-py2-none-any.whl
pex:   - botocore-1.3.22-py2.py3-none-any.whl
pex:   - protobuf_to_dict-0.1.0-py2-none-any.whl
Failed to execute PEX file,missing compatible dependencies for:
MysqL-python
pycrypto@H_502_16@ 
 

PS:为了确保我没有包含我的python库版本,我pip卸载了PyCrypto和MysqL-Python.

问题似乎是裤子为这些2采用OS X特定的轮子:

pex: – MysqL_python-1.2.5-cp27-none-macosx_10_11_intel.whl
pex: – pycrypto-2.6.1-cp27-none-macosx_10_11_intel.whl

我该如何避免这种情况,或者指定它们应该运行哪个操作系统?

这是完整的输出

PS:为了确保我没有包含我的python库版本,我pip卸载了PyCrypto和MysqL-Python.

问题似乎是裤子为这些2采用OS X特定的轮子:

pex: – MysqL_python-1.2.5-cp27-none-macosx_10_11_intel.whl
pex: – pycrypto-2.6.1-cp27-none-macosx_10_11_intel.whl

我该如何避免这种情况,或者指定它们应该运行哪个操作系统?

这是完整的输出

ubuntu@ip-***:~$export PEX_VERBOSE=1
ubuntu@ip-***:~$python admin_server.pex
pex: Found site-library: /usr/local/lib/python2.7/dist-packages
pex: Found site-library: /usr/lib/python2.7/dist-packages
pex: Tainted path element: /usr/local/lib/python2.7/dist-packages
pex: Tainted path element: /usr/lib/python2.7/dist-packages
pex: Scrubbing from site-packages: /usr/local/lib/python2.7/dist-packages
pex: Scrubbing from site-packages: /usr/lib/python2.7/dist-packages
pex: Scrubbing from user site: /home/ubuntu/.local/lib/python2.7/site-packages
pex: Failed to resolve a requirement: MysqL-python==1.2.5
pex: Failed to resolve a requirement: pycrypto==2.6.1
pex: Unresolved requirements:
pex:   - MysqL-python
pex:   - pycrypto
pex: Distributions contained within this pex:
pex:   - six-1.10.0-py2.py3-none-any.whl
pex:   - protobuf-2.6.1-py2.7.egg
pex:   - setuptools-19.5-py2.py3-none-any.whl
pex:   - MysqL_python-1.2.5-cp27-none-macosx_10_11_intel.whl
pex:   - pycrypto-2.6.1-cp27-none-macosx_10_11_intel.whl
pex:   - futures-3.0.4-py2-none-any.whl
pex:   - webapp2-2.5.2-py2-none-any.whl
pex:   - requests-2.9.0-py2.py3-none-any.whl
pex:   - jmespath-0.9.0-py2.py3-none-any.whl
pex:   - beautifulsoup4-4.4.1-py2-none-any.whl
pex:   - python_dateutil-2.4.2-py2.py3-none-any.whl
pex:   - boto3-1.2.3-py2.py3-none-any.whl
pex:   - WebOb-1.5.1-py2.py3-none-any.whl
pex:   - cssutils-1.0.1-py2-none-any.whl
pex:   - webapp2_static-0.1-py2-none-any.whl
pex:   - Paste-2.0.2-py2-none-any.whl
pex:   - docutils-0.12-py2-none-any.whl
pex:   - botocore-1.3.22-py2.py3-none-any.whl
pex:   - protobuf_to_dict-0.1.0-py2-none-any.whl
Failed to execute PEX file,missing compatible dependencies for:
MysqL-python
pycrypto@H_502_16@ 
 

PS:为了确保我没有包含我的python库版本,我pip卸载了PyCrypto和MysqL-Python.

PS:为了确保我没有包含我的python库版本,我pip卸载了PyCrypto和MysqL-Python.

PS:为了确保我没有包含我的python库版本,我pip卸载了PyCrypto和MysqL-Python.

包含平台特定代码的库的一个示例是psutil库.它包含在安装模块时编译为共享库的C代码.要创建包含此类依赖项的PEX文件,必须首先为除运行裤子之外的所有平台提供该库的预构建版本.

预构建库的最简单方法是使用pip工具构建轮子.

此配方假设如下:

>您希望构建一个可在Linux和Mac上运行的多平台pex
您将在Linux环境中预构建库,
然后在mac环境中构建PEX.
>您的项目目录位于?/ src / cookbook下

让我们来一个简单的程序,引用一个库并从中创建一个pex.

#  src/python/ps_example/main.py
import psutil

for proc in psutil.process_iter():
    try:
        pinfo = proc.as_dict(attrs=['pid','name'])
    except psutil.NoSuchProcess:
        pass
    else:
        print(pinfo)@H_502_16@ 
 

使用Pants,您可以通过在BUILD文件中定义python_binary目标来定义可执行文件

# src/python/ps_example/BUILD
python_binary(name='ps_example',source = 'main.py',dependencies = [
    ':psutil',# defined in requirements.txt
  ],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

在同一目录中,列出requirements.txt文件中的python库:

# src/python/ps_example/requirements.txt 
psutil==3.1.1@H_502_16@ 
 

现在,为了制作多平台pex,你需要访问一个Linux盒来创建psutil wheel的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@H_502_16@ 
 

这将创建一个特定于平台的轮文件.

linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
# src/python/ps_example/BUILD
python_binary(name='ps_example',source = 'main.py',dependencies = [
    ':psutil',# defined in requirements.txt
  ],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

在同一目录中,列出requirements.txt文件中的python库:

# src/python/ps_example/requirements.txt 
psutil==3.1.1@H_502_16@ 
 

现在,为了制作多平台pex,你需要访问一个Linux盒来创建psutil wheel的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@H_502_16@ 
 

这将创建一个特定于平台的轮文件.

linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
# src/python/ps_example/requirements.txt 
psutil==3.1.1@H_502_16@ 
 

现在,为了制作多平台pex,你需要访问一个Linux盒来创建psutil wheel的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@H_502_16@ 
 

这将创建一个特定于平台的轮文件.

linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
linux $mkdir ~/src/cookbook/wheelhouse
linux $pip wheel -r src/python/multi-platform/requirements.txt  \
    --wheel-dir=~/src/cookbook/wheelhouse@H_502_16@ 
 

这将创建一个特定于平台的轮文件.

linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
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   
...@H_502_16@

使用Pants,您可以通过在BUILD文件中定义python_binary目标来定义可执行文件

在同一目录中,列出requirements.txt文件中的python库:

现在,为了制作多平台pex,你需要访问一个Linux盒来创建psutil wheel的linux版本.将requirements.txt文件复制到linux机器,然后执行pip工具:

这将创建一个特定于平台的轮文件.

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

您可以通过解压缩验证pex中包含mac和Linux的库:

使用Pants,您可以通过在BUILD文件中定义python_binary目标来定义可执行文件

# src/python/ps_example/BUILD
python_binary(name='ps_example',source = 'main.py',dependencies = [
    ':psutil',# defined in requirements.txt
  ],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

在同一目录中,列出requirements.txt文件中的python库:

# src/python/ps_example/requirements.txt 
psutil==3.1.1@H_502_16@ 
 

现在,为了制作多平台pex,你需要访问一个Linux盒来创建psutil wheel的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@H_502_16@ 
 

这将创建一个特定于平台的轮文件.

linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
# src/python/ps_example/requirements.txt 
psutil==3.1.1@H_502_16@ 
 

现在,为了制作多平台pex,你需要访问一个Linux盒来创建psutil wheel的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@H_502_16@ 
 

这将创建一个特定于平台的轮文件.

linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
linux $mkdir ~/src/cookbook/wheelhouse
linux $pip wheel -r src/python/multi-platform/requirements.txt  \
    --wheel-dir=~/src/cookbook/wheelhouse@H_502_16@ 
 

这将创建一个特定于平台的轮文件.

linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
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   
...@H_502_16@

在同一目录中,列出requirements.txt文件中的python库:

现在,为了制作多平台pex,你需要访问一个Linux盒来创建psutil wheel的linux版本.将requirements.txt文件复制到linux机器,然后执行pip工具:

这将创建一个特定于平台的轮文件.

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

您可以通过解压缩验证pex中包含mac和Linux的库:

在同一目录中,列出requirements.txt文件中的python库:

# src/python/ps_example/requirements.txt 
psutil==3.1.1@H_502_16@ 
 

现在,为了制作多平台pex,你需要访问一个Linux盒来创建psutil wheel的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@H_502_16@ 
 

这将创建一个特定于平台的轮文件.

linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
linux $mkdir ~/src/cookbook/wheelhouse
linux $pip wheel -r src/python/multi-platform/requirements.txt  \
    --wheel-dir=~/src/cookbook/wheelhouse@H_502_16@ 
 

这将创建一个特定于平台的轮文件.

linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
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   
...@H_502_16@

现在,为了制作多平台pex,你需要访问一个Linux盒来创建psutil wheel的linux版本.将requirements.txt文件复制到linux机器,然后执行pip工具:

这将创建一个特定于平台的轮文件.

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

您可以通过解压缩验证pex中包含mac和Linux的库:

现在,为了制作多平台pex,你需要访问一个Linux盒来创建psutil wheel的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@H_502_16@ 
 

这将创建一个特定于平台的轮文件.

linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
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   
...@H_502_16@

这将创建一个特定于平台的轮文件.

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

您可以通过解压缩验证pex中包含mac和Linux的库:

这将创建一个特定于平台的轮文件.

linux $ls ~/src/cookbook/wheelhouse/
psutil-3.1.1-cp27-none-linux_x86_64.whl@H_502_16@ 
 

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
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   
...@H_502_16@

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

您可以通过解压缩验证pex中包含mac和Linux的库:

现在,您需要将特定于平台的车轮复制到要构建多平台pex的机器(在本例中为您的Mac笔记本电脑).如果您经常使用此配方,您可能需要配置Python Respository来存储预先构建的库.

我们将使用与上面相同的BUILD文件设置,但修改python_binary以指定platforms =参数.

# src/python/ps_example/BUILD
python_binary(name='ps_example',platforms=[
    'linux-x86_64','macosx-10.7-x86_64',],)

# Defines targets from specifications in requirements.txt
python_requirements()@H_502_16@ 
 

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
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   
...@H_502_16@

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

您可以通过解压缩验证pex中包含mac和Linux的库:

您还需要告诉裤子在哪里可以找到预先构建的python包.编辑pants.ini并添加

[python-repos]
repos: [
    "%(buildroot)s/wheelhouse/"
  ]@H_502_16@ 
 

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
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   
...@H_502_16@

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

您可以通过解压缩验证pex中包含mac和Linux的库:

现在,将文件psutil-3.1.1-cp27-none-linux_x86_64.whl复制到mac工作站,并将其放在repo根目录下名为wheelhouse /的目录中.

完成后,您现在可以构建多平台pex

mac $./pants binary src/python/py_example@H_502_16@ 
 

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@
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   
...@H_502_16@

您可以通过解压缩验证pex中包含mac和Linux的库:

您可以通过解压缩验证pex中包含mac和Linux的库:

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   
...@H_502_16@

总结

以上是编程之家为你收集整理的裤子包括OS X特定的Python轮子全部内容,希望文章能够帮你解决裤子包括OS X特定的Python轮子所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶