当前位置: 首页 > 知识库问答 >
问题:

如何在Windows计算机上安装Linux软件包(针对AWS Lambda)?

胡越
2023-03-14

我试图写一个Python AWS Lambda脚本。Python代码在Windows本地工作,但它使用通过pip安装的Windows包。上传到AWS Lambda时,我需要包含Linux包。

例如,当我运行pip install pandas时,我得到:

Downloading pandas-1.0.1-cp37-cp37m-win_amd64.whl

但是我需要(上传到AWS Lambda)的是:

pandas-1.0.1-cp37-cp37m-manylinux1_x86_64.whl

我的尝试

我曾尝试使用Docker在Windows中模拟Linux环境。我的想法是在Docker中安装Linux软件包,然后将它们复制到本地机器上。我认为这可以通过Docker卷完成。我已尝试使用Dockerfile执行此操作:

FROM python:3.7-slim-buster

WORKDIR /usr/src/app

# Download python packages to /usr/src/app/lib
RUN mkdir -p /usr/src/app/lib
RUN pip3 install pandas -t /usr/src/app/lib

# Copy the python pacakges to local machine
VOLUME host:/myvol
RUN mkdir /myvol
COPY /usr/src/app/lib /myvol

但是当我运行docker build时,我得到了一个错误:

复制失败:stat/var/lib/docker/tmp/docker-builder233015161/usr/src/app/lib:没有这样的文件或目录

共有1个答案

都乐逸
2023-03-14

感谢@C.Nivs的解释,这可以使用Docker以交互方式完成:

  1. 首先使用docker run-it python:3.6-slim bash交互式运行docker。然后创建一个文件夹“target”,并将pip安装到其中(这将安装linux软件包)。记下容器id(我的命令行显示root@31d9be68deec:/#。容器id为31d9be68deec
mkdir /target 
pip install pandas -t /target
docker cp <container_id>:/target libs

就这样了。python包现在可以在本地文件夹libs中使用。

@C.Nivs中的注释:“复制并不做它的名字可能暗示的事情。复制是一个构建步骤,它将文件从构建上下文(正在构建映像的地方)复制到映像本身。它不允许事情以相反的方式进行”。

 类似资料:
  • 问题内容: 我在设置python包时遇到了困难。应该可以使用SetupTools的EasyInstall来解决此问题,但是它们没有适用于Python 2.6的可执行文件。 例如要安装Mechanize,我只想根据INSTALL.txt将Mechanize文件夹放在C:\ Python24 \ Lib \ site- packages中,但是运行测试无效。有人可以帮忙阐明一下吗?谢谢! 问题答案:

  • 我对用Python创建一个包很感兴趣。为了做到这一点,我观看并阅读了几个教程,但总有一些东西不想工作。 我正在做的事 我创建了一个文件夹,其中有另一个文件夹,它对应于我的包的名称。 文件夹包含两个文件: -指明包所在位置的文件 -包含要包含到包中的函数的文件 在functions.py中有一个基本功能: 总结一下-我的文件结构如下 包含包含和。 我尝试使用加载包,然后使用,但我得到的消息是。似乎我

  • 问题内容: 我需要知道JDK在我的计算机上的位置。 在cmd中运行时,它将版本显示为“ 1.6.xx”。要在我尝试使用的计算机上查找此SDK的位置,但仅显示“ JAVA_HOME”(因为我的环境变量中未设置“ JAVA_PATH”变量)。 问题答案: 如果你使用的是Linux / Unix / Mac OS X: 尝试这个: 应该输出确切的位置。 之后,你可以自己设置环境变量。 在我的计算机上(M

  • 我正在尝试安装Pygame,但我很困惑。在pygame.org网站上,没有3.4版本,当我从http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame下载正确的文件时,我得到了一个.whl文件。经过进一步研究,我遇到了另一个问题:如何在Python3.4上安装PyGame? 但当我想跑的时候 并突出显示了代码的“安装”部分。救命?

  • 问题内容: http://xgboost.readthedocs.org/en/latest/python/python_intro.html 在xgboost(上面的链接)的主页上显示:要安装XGBoost,请执行以下步骤: 您需要在项目的根目录中运行 在python-package目录中运行 python setup.py安装 但是,当我这样做时,对于第1步,将出现以下错误:make:术语“

  • 我有一个关于在我的电脑上建立dlib库的问题,它有视窗10操作系统。 这是我的python版本: C:\Windows\system32 以下是我的pip版本: C:\Windows\system32 PIP10.0。1来自C:\ProgramData\Anaconda3\lib\site packages\pip(python 3.7) 我正在尝试下载并构建dlib,如下所示: 安装可信主机py