标签: pants

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

TLDR:Pants提取OS X特定的轮子bc我正在Mac上开发.我该如何避免这种情况,或者指定我将部署到Ubuntu?

全文:

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

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

  1. 创造了virtualenv.
  2. 向应用程序添加了BUILD文件,并为第三方软件包提供了建议的第三方模式.
  3. Ran ./pants run.py backend:admin_server运行良好并生成dist/admin_server.pex
  4. 将.pex写入一个新的EC2 Ubuntu盒子.

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

Failed to execute PEX file, missing compatible dependencies for:
    mysql-python
    pycrypto
Run Code Online (Sandbox Code Playgroud)

问题似乎是裤子为这些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 …
Run Code Online (Sandbox Code Playgroud)

pants

5
推荐指数
1
解决办法
1811
查看次数

Python PEX加载

我一直试图绕过python pex实用程序(https://pex.readthedocs.org/en/latest/),将一些应用程序捆绑到.pex文件中进行部署.

我的应用程序不够大,不需要twitters裤子构建工具,以及我有一些裤子无法解决的构建要求.但是,我尝试使用裤子工具构建系统,使用python_binary它导致pex文件,并将源加载到pex文件根目录.裤子中的BUILD文件接受sourcespython_binary 的属性,该属性可以是运行构建目录中的文件的glob,但是,裤子使用的是pex编程API而不是命令行实用程序.

问题是当我自己使用pex命令行实用程序时,它似乎想要分发(即使用setup.py等设置的文件夹......)并且想要将我的代码安装到.deps文件夹中pex文件,而不仅仅是将python文件复制到pex文件的根目录,就像裤子一样.

是否通过命令行pex工具复制文件(而不是安装包)?

python pex pants

3
推荐指数
1
解决办法
2061
查看次数

标签 统计

pants ×2

pex ×1

python ×1