小编Zac*_*ack的帖子

在 cygwin 中安装 python 模块

在 cygwin 中安装 python 模块的方法是什么?我是 cygwin 的新手,在 setup.exe 包中找不到 pip 或类似的东西。我环顾四周,找不到明确的方法来做到这一点。有没有人有建议?

python installation cygwin module

5
推荐指数
2
解决办法
2万
查看次数

适用于Windows的良好的c/c ++编译器

有没有人知道可以轻松使用Windows的ac/c ++编译器?我对gcc有一些经验,但我想在Windows机器上开发一些像这样的代码.我见过的许多编译器看起来有点复杂,或者不适用于Windows.

提前致谢.

c c++ compiler-construction

4
推荐指数
1
解决办法
2万
查看次数

鼻子测试的设置方法。(测试班)

我在正在进行的一些测试中模拟了数据库。我如何为整个类创建一个设置方法,以便每次运行类中的单个测试时都运行该方法?

我正在尝试做的事情的例子。

from mocks import MockDB

class DBTests(unittest.TestCase):

    def setup(self):
        self.mock_db = MockDB()

    def test_one(self):
        #deal with self.mock_db

    def test_two(self):
        #deal with self.mock_db, as if nothing from test_one has happened
Run Code Online (Sandbox Code Playgroud)

我假设拆卸方法也是可能的,但我找不到可以执行此类操作的文档。

python testing installation nosetests

4
推荐指数
1
解决办法
8170
查看次数

我如何确认使用 ansible 安装了 python 包

我正在编写ansible playbook,我首先想安装pew,然后过渡到 pew 环境以安装其他一些 python 库。

所以,我的剧本看起来像这样......

tasks:

# task 1
- name: install pew if necessary
  command: pip install pew

# task 2
- name: create new pew environment if necessary
  command: pew new devpi-server

# task 3
- name: transition to pew environment
  command: pew workon devpi-server

# task 4
- name: install devpi-server
  command: pip install devpi-server

# task 5
- name: run devpi server
  command: devpi-server ## various args
Run Code Online (Sandbox Code Playgroud)

本着保持我的剧本具有幂等性的精神,我希望仅在必要时才执行所有这些任务。

因此,我只想在尚未安装 pew 的情况下安装它,如果它不存在,我只想创建一个新的 …

python conditional pip virtualenv ansible

4
推荐指数
1
解决办法
6504
查看次数

如何获取日志字符串的最后一部分并将其解释为json?

我正在查看具有以下格式的日志消息

datetime log_message_type message_type server {json_string}
Run Code Online (Sandbox Code Playgroud)

因此每一行用空格分隔,每行总是有相同的字段,最后有一个json字符串,json块内有各种字段.

我想过这么简单

with open('test.log', 'r') as f:
    for x in f:
        line = x.split()

        datetime         = line[0]
        log_message_type = line[1]
        message_type     = line[2]
        server           = line[3]
        json_string      = line[4]
Run Code Online (Sandbox Code Playgroud)

这会有效,除了我的json字符串中有空格,例如,类似这样的东西.

{ "foo" : "bar" }
Run Code Online (Sandbox Code Playgroud)

所以这样做会将我的json字符串拆分到空格处.有没有什么方法可以使用正则表达式或其他东西在空格上分割,直到我到达该行的"json string"部分,然后保留其余部分?我试过做类似的事情

line = re.compile(".*\s.*\s.*\s.*\s").split(x)
Run Code Online (Sandbox Code Playgroud)

尝试在json字符串部分之前基于4个空格来解析行,但是我恐怕我对python中的正则表达式系统是如何工作的还不够了解.有人能帮我一把吗?

编辑:忘了提,我为此坚持使用python 2.7.

python regex json

4
推荐指数
2
解决办法
132
查看次数

切换git分支时如何处理vim缓冲区?

所以,我在我的vim缓冲区中打开了大量文件,而我正在使用git开发一个功能分支.突然间,我意识到我需要回到我的主分支来快速修复.

完成提交后,我打开vim会话并切换回主分支.但是,当我尝试从缓冲区加载我需要的文件时,我现在收到消息

Warning: File "<filename>" has changed since editing started
Run Code Online (Sandbox Code Playgroud)

这对我来说是完整的.缓冲区中的文件来自我的功能分支,现在我已经切换回主分支,可以理解的是一些增量处理.

我的问题是,这种情况如何在专业水平上处理?

考虑到解决方案,我可以关闭所有缓冲区并重新打开文件.但是,我希望有一种"聪明"的方式来做到这一点.有没有办法将当前vim缓冲区中的文件替换为所需分支中的对应文件?有没有办法维护多个缓冲区,每个git分支一个?

最终,我希望能够在git分支之间切换,并且打开vim会话只是"知道"该文件的哪个版本当前应该驻留在缓冲区中.

部分原因是我仍在学习vim缓冲区如何工作,并且刚刚开始广泛使用它们.因此,如果我做出任何不成立的假设,请在适当的地方纠正我.

git vim buffer branch version

3
推荐指数
2
解决办法
386
查看次数

在单个条件下对多个ansible任务进行分组

我使用ansible作为系统编排工具.首先,让我描述一下我最终的目标.

我想创建一个或两个剧本,从网上抓取solr,自行设置,然后根据某些配置启动索引.如果到目前为止听起来有任何疑问,请在这里阻止我.

现在,如果我不需要,我不想抓住solr tarball,所以我现在有一个看起来像这样的任务/游戏.

- stat: path="path to solr home/solr/bin/init script"
  register: solr_script

- name: getting solr
  when: solr_script.stat.exists == False
  shell: mkdir -p "path to download dir"
  get_url: url="download url" dest= "path to download dir"
  shell: tar zxvf "path to download dir/tgz file" -C "path to solr home"
  shell: rm -rf "path to download dir"

- name: start solr
  shell: "path to solr home/solr/bin/solr init script" start
  sudo: yes
Run Code Online (Sandbox Code Playgroud)

我试图检查solr init脚本是否已经下载,然后再去抓取它.

当我按原样运行此脚本时,我收到错误,

multiple …
Run Code Online (Sandbox Code Playgroud)

conditional solr if-statement task ansible

3
推荐指数
2
解决办法
7047
查看次数

如何访问我定义的java grpc服务的请求元数据?

对于某些背景,我试图使用grpc auth以便为我定义的某些服务提供安全性.

让我们看看我是否可以问这是一种有意义的方式.对于我的python代码,实现服务器端代码非常容易.

class TestServiceServer(service_pb2.TestServiceServer):

    def TestHello(self, request, context):

        ## credential metadata for the incoming request
        metadata = context.invocation_metadata()

        ## authenticate the user using the metadata
Run Code Online (Sandbox Code Playgroud)

因此,正如您所知,我能够非常轻松地从"上下文"中获取元数据.对我来说更难的是在java中做同样的事情.

public class TestImpl extends TestServiceGrpc.TestServiceImplBase {

    @Override
    public void testHello(TestRequest req, StreamObserver<TestResponse> responseObserver) {

        // How do I get access to similar request metadata here?

        // from the parameter positions, it looks like it should be
        // "responseObserver" but that doesn't seem similar to "context"

    }

}
Run Code Online (Sandbox Code Playgroud)

我承认我的问题来自几个方向.

1)我不熟悉Java

2)我大量使用python的"pdb"来调试类,看看我可以使用哪些方法.我不知道/我不熟悉java的类似工具.

3)此时文档似乎相当稀疏​​.它向您展示了如何在服务器端设置ssl连接,但是我找不到服务器的示例来查看请求元数据,正如我在python中所示. …

python java metadata request grpc

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

面向学习python/perl的项目构思

我最近开始玩python和perl,并且想知道是否有人对初学者/中级项目有任何建议,以便更好地学习脚本语言.除了学习这两种语言之外,我真的没有任何目标,所以我很乐意听到任何建议.

python perl project

2
推荐指数
1
解决办法
1899
查看次数

连接到在本地主机上运行的 solr 服务器

我正在尝试使用教程连接到solr服务器。至此,我确信我的 solr 设置正确。我能跑

> solr start -p 8983
Run Code Online (Sandbox Code Playgroud)

它似乎开始了一些事情。

果然

> solr status
Solr process 31421 running on port 8983
Run Code Online (Sandbox Code Playgroud)

现在,在我的 python 代码中,我尝试了我认为应该是基本连接脚本的内容。

import solr
host = "http://localhost:8983/solr"

# also tried
# host = "http://localhost:8983"

# also tried
# host = "http://127.0.0.1:8983/solr"

# also tried
# host = "http://127.0.0.1:8983"

connection = solr.SolrConnection(host)

try:
    connection.add(
        id= 1,
        title= "Lucene in Action",
        author= ['Zack', 'Hank Hill']
    )
except Exception as e:
    import pdb
    pdb.set_trace()

connection.commit()
Run Code Online (Sandbox Code Playgroud)

我的代码永远不会到达connection.commit(),相反,它会到达异常中的调试点。查看异常 e

HTTP …
Run Code Online (Sandbox Code Playgroud)

python connection solr localhost server

2
推荐指数
1
解决办法
3296
查看次数