我有一个Python软件,其中包括配置文件和联机帮助页.要安装这些,我在我的内容中有以下行setup.py(如http://docs.python.org/2/distutils/setupscript.html#installing-additional-files中所述):
data_files = [('/etc/foo', ['foo.conf']), ('/usr/share/man/man1', ['foo.1'])]
Run Code Online (Sandbox Code Playgroud)
当我想以root身份安装软件时,这很好用python setup.py install,但当然在virtualenv中失败,因为不允许用户写入/etc和/usr/share/man.
解决这个问题的最佳做法是什么?检查VIRTUAL_ENV当前环境,根本不安装这些文件?该软件将foo.conf在本地目录中查找,因此应该没问题.用户会错过该联机帮助页,但无论如何都没有理智的安装方式,因为man在virtualenv附近的任何地方都不会找到它.
我想尝试libuv,但我需要能够将我的网络线程中的事件发送到我的主线程.我猜libuv会有自定义事件来处理这类事情,但我找不到它们.
有任何想法吗?谢谢!
我写了以下正则表达式:
(https?:\/\/)?([da-z\.-]+)\.([a-z]{2,6})(\/(\w|-)*)*\/?
Run Code Online (Sandbox Code Playgroud)
它的行为可以在这里看到:http://gskinner.com/RegExr/?34b8m
我写了以下JavaScript代码:
var urlexp = new RegExp(
    '^(https?:\/\/)?([da-z\.-]+)\.([a-z]{2,6})(\/(\w|-)*)*\/?$', 'gi'
);
document.write(urlexp.test("blaaa"))
Run Code Online (Sandbox Code Playgroud)
true即使正则表达式不允许单个单词有效,它也会返回.
我究竟做错了什么?
我正在尝试使用Terraform 0.12的新功能来实现嵌套循环,以便遍历AWS IAM用户,每个用户都可以附加一个或多个策略。用于表示此列表的变量的类型为map(list(string)),看起来像这样:
{
  "user 1" = [ "policy1", "policy2" ],
  "user 2" = [ "policy1" ]
}
Run Code Online (Sandbox Code Playgroud)
通过可以轻松地创建用户列表keys(),但是由于Terraform当前没有嵌套循环资源创建的机制,因此策略附件必须以独立于每个用户的单个循环的形式发生。因此,我正在尝试从地图输入中构建一个user:policy关联列表,该列表看起来像基于上面的示例:
[
  [ "user1", "policy1" ],
  [ "user1", "policy2" ],
  [ "user2", "policy1" ]
]
Run Code Online (Sandbox Code Playgroud)
我正在尝试构造该列表并将其存储在本地变量中,如下所示,var.iam-user-policy-map输入映射在哪里:
locals {
  ...
  association-list = [
    for user in keys(var.iam-user-policy-map):
    [
      for policy in var.iam-user-policy-map[user]:
      [user, policy]
    ]
  ]
  ...
}
Run Code Online (Sandbox Code Playgroud)
但是,尝试访问该嵌套列表中的值时出现错误。我正在尝试使用引用local.association-list[count.index][0]和策略访问关联的用户部分local.association-list[count.index][1],但是在运行时terraform plan会出错:
Error: Incorrect attribute value type
  on main.tf line 27, in resource "aws_iam_user_policy_attachment" "test-attach": …Run Code Online (Sandbox Code Playgroud) 在我的脚本中,我有一个大的while:try:loop.在此,我想增加一个图片已成功从我的相机下载和调整的情况下,一些指针,这里是我的代码看起来像我的大python脚本中:
import os.path
try os.path.isfile('/home/pi/CompPictures' + picturenumber + '.JPG'):
    os.system('sudo rm /home/pi/Pictures/IMG_0001.JPG')
    os.system('sudo rm /home/pi/output.bin')
    picturenumber = int(picturenumber))+1
except:
    pass
Run Code Online (Sandbox Code Playgroud)
picturenumber包含一个字符串'1'开始然后会增加.
我只想要这个运行一个.所以基本上,我通过我的大码连续运行,然后通过大循环每次扫描,我要检查一次该try语句,如果该文件存在,删除一些文件,并增加了指针.
我收到以下错误.
  File "pijob.py", line 210
    try os.path.isfile('/home/pi/CompPictures' + picturenumber + '.JPG'):
         ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
非常新的python ...所以希望这不是一个简单的错误:(
因此,通过 Terraform,我创建了一个 IAM 策略并将其附加到一个角色。我目前正在运行:
Terraform v0.12.16
provider.aws v2.40.0
provider.template v2.1.2
Run Code Online (Sandbox Code Playgroud)
执行代码时,我可以毫无问题地初始化 terraform。运行 terraform plan 时,出现以下错误:
Error: "policy" contains an invalid JSON: invalid character '}' looking for beginning of value
  on ec2-iam.tf line 8, in resource "aws_iam_role_policy" "s3_ec2_policy":
   8: resource "aws_iam_role_policy" "s3_ec2_policy" {
Run Code Online (Sandbox Code Playgroud)
我陷入了这个错误。任何意见将是有益的。下面是我的代码:
 data "template_file" "s3_web_policy" {
  template = file("scripts/iam/web-ec2-policy.json")
  vars = {
    s3_bucket_arn = "arn:aws:s3:::${var.my_app_s3_bucket}/*"
  }
}
resource "aws_iam_role_policy" "s3_ec2_policy" {
  name = "s3_ec2_policy"
  role = aws_iam_role.s3_ec2_role.id
  policy = data.template_file.s3_web_policy.rendered
}
resource "aws_iam_role" "s3_ec2_role" {
  name = "s3_ec2_role"
  assume_role_policy …Run Code Online (Sandbox Code Playgroud) amazon-web-services terraform terraform-template-file terraform-provider-aws
我将一些 JSON 发布到视图中。我现在想解析数据并将其添加到我的数据库中。
我需要的属性name,并theme在阵列上和迭代pages。我的 JSON 如下:
{
    "name": "xaAX",
    "logo": "",
    "theme": "b",
    "fullSiteLink": "http://www.hello.com",
    "pages": [
        {
            "id": "1364484811734",
            "name": "Page Name",
            "type": "basic",
            "components": {
                "img": "",
                "text": ""
            }
        },
        {
            "name": "Twitter",
            "type": "twitter",
            "components": {
                "twitter": {
                    "twitter-username": "zzzz"
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所拥有的:
def smartpage_create_ajax(request):
    if request.POST:
         # get stuff and loop over each page?
       return HttpResponse('done')
Run Code Online (Sandbox Code Playgroud) 是否有任何理由通过chrome扩展程序gzip本地加载的大型js文件?它会增加还是降低负载速度?为什么?
Google建议使用Gzip压缩文件.但这只是在通过网络传输文件时才有意义吗?或者在本地处理gzip压缩文件也更快?
我想创建一个 terraform (v0.12+) 模块,该模块输出一个带有 Lambda 集成的 AWS API 网关。我不太明白如何(或者甚至可能)遍历映射列表以动态输出资源。
用户应该能够像这样实例化模块:
module "api_gateway" {
  source = "./apig"
  endpoints = [
    {
      path = "example1"
      method = "GET"
      lambda = "some.lambda.reference"
    },
    {
      path = "example1"
      method = "POST"
      lambda = "some.lambda.reference"
    },
    {
      path = "example2"
      method = "GET"
      lambda = "another.lambda.reference"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)
从endpoints界面上,我想输出三个资源:
aws_api_gateway_resource哪里path_part = endpoint[i].path  aws_api_gateway_method哪里http_method = endpoint[i].methodaws_api_gateway_integration,需要一个参考
endpoint[i].lambda,等Terraform 的for_each属性似乎不足以处理这个问题。我知道 Terraform 也支持 …
我已经编写了一个 terraform 模块来创建一个 Lambda,但我无法弄清楚如何在预构建的 ZIP 文件上计算 source_code_hash。这将在管道中,因此每次都会构建 ZIP 文件,并且在我到达 terraform 步骤之前可能会有所不同。
我正在使用 gulp 构建 ZIP 文件(这是一个 NodeJS 应用程序)并假设它是在目录 build/myLambda.zip 中预先构建的
基本上我想这样做。文件名是一个 terraform 变量,我希望 source_code_hash 计算必须引用该文件。
module my_lambda {
  filename = "${var.my_zip_file}"
}
Run Code Online (Sandbox Code Playgroud)
该模块的相关部分是:
resource "aws_lambda_function" "lambda" {
   filename            = "${var.filename}"
   source_code_hash    = "${filebase64sha256(file("${var.filename}"))}"
}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行 terraform plan 时,出现此错误:
Error: Error in function call
  on modules\lambda\main.tf line 16, in resource "aws_lambda_function" "lambda":
  16:     source_code_hash    = "${filebase64sha256(file("${var.filename}"))}"
    |----------------
    | var.filename is "build/myLambda.zip"
Call to function "file" failed: contents of
build/myLambda.zip are not …Run Code Online (Sandbox Code Playgroud) terraform ×4
python ×3
javascript ×2
gzip ×1
json ×1
libuv ×1
nested-loops ×1
node.js ×1
regex ×1
virtualenv ×1