- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我将无服务器框架与 AWS Lambda 结合使用。在 pip3.6
中使用 pip.conf 时,我想将“target-dir”设置为“当前目录”。
将其设置为“.”像这样:
[global]target = "."
不起作用,因为 pip 在我的 virtualenv
根目录中创建了一个名为“.
”的新目录,并继续在其中安装东西。我试过没有引号。我也尝试过 ./
,但这会创建一个名为 ."
.
我正在使用 virtualenv
(通过 venv
和 python3.6
),但我需要将包放在根目录中由于 AWS Lambda 的限制,我使用 pip 安装时的 virtualenv。
最佳答案
[编辑]pip.conf
实际上是一个standard INI file ,所以它只允许绝对路径(->绝对,但它以lambda函数的根为根);而且它不能在内部使用变量。
因此,您应该在 target=
选项中包含完整路径(从根目录“/”开始)。
为此,您可以尝试使用(或类似的东西)检索 AWS Lambda 中的当前目录:
lambdash pwd
即,尝试获取一个 shell 并调用 pwd(= 打印工作目录)。使用此信息填写 target
变量的正确路径。
但是,可以通过编程方式创建/更改 INI 文件。
因此,您可以将您的项目创建为可分发的项目(例如用于 pypi 或其他 DVCS 的项目)并设置一个 setup.py
可以找到准备好项目分发的教程 here .关于setup.py的具体讨论可见here
一个可以添加到你的setup.py
中的函数可以如下(随意修改):
# remember to add the imports:
from setuptools import setup
from setuptools.command.install import install
import ConfigParser
import io
class CustomInstallCommand(install):
"""Customized setuptools install command."""
def run(self):
config= ConfigParser.RawConfigParser()
config.read(r'pip.conf')
config.set('target', os.environ['LAMBDA_TASK_ROOT'])
with open(r'pip.conf', 'wb') as configfile:
config.write(configfile)
install.run(self)
setup(
...
(在你的项目中使用 setuptools 查看上面提到的教程)
关于python - 如何在 virtualenv 中配置 pip 以将软件包安装到当前目录根目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46267065/
我听说最好不要从您系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
我听说最好不要从系统的 Perl 版本所在的 CPAN 安装模块。我知道如何使用命令行安装模块,我只是想知道是否有办法将 CPAN 与系统的核心 Perl 分开。 我应该: 下载源代码并专门为这些模块
单独安装 electron 与通过 electron-builder 安装有什么区别?我正在使用 React 构建一个 Electron 应用程序,并且已经找到了一些教程。它们安装 Electron
两者安装有什么区别?我按照安装页面上的说明在全局范围内安装了 webpack,然后我转到了入门指南,据说在那里可以在本地安装 webpack-cli。 CLI = Command Line Inter
我在 OS X Yosemite 上用 PHP 安装了默认的 Apache 服务器,安装了 pear,用 brew 安装了 Solr (brew install solr),现在我正在尝试使用 PEC
我解压并编译了 Ruby 2.1 并安装了几个支持工具。 但是当我安装了 libssl-dev 时,OpenSSL 不会安装。 我在支持 openssl 时遇到这个错误: make: *** No r
我在 android studio 2.3.1 和 gradle 3.2 中设计了 2 到 3 个应用程序。当我从它运行应用程序到任何设备或模拟器时,一切都工作正常。但是当我从构建文件夹中获取该 ap
我注意到我正在读一本书提到通过 apt-get 安装 numpy 和 opencv apt-get install python-numpy python-opencv 但我可以通过以下方式在 pip
我正在尝试在 Windows 8.1 上安装 ansicon。我提取了文件并达到了我需要调用 ansicon -i 的级别。当我在 cmd 中输入此内容并运行 python 脚本时效果很好,但是当我通
我有 linux MINT 17.3 Kernel 4.4.0-81 所有更新可用。 (由于不同的原因,我无法迁移到更新版本的 ubuntu/mint) 我已经通过 PPA 安装了 FFMPEG(不是
尝试在本地运行我的应用程序时出现错误: 我只在 chrome 浏览器中收到此错误。我尝试过不同的东西,但我不确定为什么它是 Chrome 特定的。 最佳答案 我怀疑这不是 Firebase 问题,而是
这是我第一次开发 AngularJS 应用程序并使用脚手架工具 Yeoman ( http://yeoman.io/ )。我想对我的一些图标使用 fontawesome ( http://fortaw
我知道您通常“应该”$ pip install 如果包没有 brew ,但如果有一个你想安装的 python 包,你可以使用 $ pip install或 $ brew install为了?例如,通过
我正在尝试通过 RVM 安装 Ruby 1.9.3。然而,当谈到安装 RubyGems 时,我得到了这个: curl: (22) The requested URL returned error: 4
我是真正提出问题的新手,但你去吧。 我一直在尝试按照安装指南添加 dnsname: https://github.com/containers/dnsname https://github.com/c
Studio更新至0.4.0 建筑产量为“需要1.8版Gradle”;将设置设置为1.8 bin目录; 建立 “要求1.9级”;将设置设置为1.9 bin; 建立 “要求1.8级” 啊。不知道该怎么做
我刚刚注意到 kernel.org 因维护而停机。是否有使用不同镜子的不同公式?或者我可以向 Homebrew 软件添加不同的来源(如 bundler ?)? 谢谢你的帮助! 最佳答案 快速解决方法:
当我运行时: peardev install phpunit/PHPUnit 我得到以下信息: No releases available for package "pear.phpunit.de/P
服务器操作系统为Fedora 24. 64bit。 我想安装 Git 2.6.6。 所以下载源码并安装。 此服务器离线。所以我不使用“yum”。 ./configure --prefix=/usr/l
我正在尝试在我自己的服务器(操作系统:Linux Ubuntu Server 12.04)上安装 OpenEdX,但我遇到了同样的错误。谁能帮帮我? TASK: [ insights | insta
我是一名优秀的程序员,十分优秀!