小编alo*_*ser的帖子

在SublimeText2插件中管理python导入依赖项.特别是unicodedata lib

我正在尝试修复一个SublimeText2插件.问题似乎是(从SublimeText python控制台)导致导入错误:

Traceback (most recent call last):
  File ".\sublime_plugin.py", line 62, in reload_plugin
  File ".\rtl.py", line 4, in <module>
    from algorithm import get_display
  File "lang\algorithm.py", line 20, in <module>
    from unicodedata import bidirectional, mirrored
ImportError: No module named unicodedata
Run Code Online (Sandbox Code Playgroud)

因为unicodedata是标准的python库,我试图直接在控制台中导入它并得到相同的导入错误.我想这是因为sublimetext没有使用系统安装的python版本(我在windows机器中使用python2.7)但是它自己的捆绑2.6 python没有捆绑整个标准库.

当我尝试从我常用的python解释器导入一切正常.

我尝试添加一个指向"c:\ python27\lib"的.pth文件和没有帮助的网站包等.直接添加到这样的路径:

sys.path.append(c:\\Python27\\lib)
Run Code Online (Sandbox Code Playgroud)

也没有帮助.还试图调整我的用户设置文件,包括:

{
    "PATH": "C:\\Python27;c:\\Python27\\Scripts",
    "PYTHONPATH": "C:\\Python27\\Lib;C:\\Python27\\Lib\\site-packages;C:\\Python27\\DLLs"
}
Run Code Online (Sandbox Code Playgroud)

我的问题分为两个:

  1. 如何在我的开发计算机上专门解决这个问题
  2. 对于试图安装插件的人来说,解决这个问题的正确方法是什么.使插件动态地识别默认的python安装并将其添加到路径中.

另外,最奇怪的是:程序文件中的主SublimeText文件夹实际上有unicodedata.pyd文件.所以我无法弄清楚问题是什么!

python sublimetext2

6
推荐指数
1
解决办法
510
查看次数

在Windows上更改virtualenv文件夹

在计算机修复我的python项目dir(windows)改变后(比如从d:到f :).现在我所有的虚拟现实都被打破了.激活env后,virtualenv中的项目无法找到依赖项,自定义脚本(来自env\scripts文件夹)将无法正常工作

试过跑:

virtualenv --relocateble ENV_NAME (with the env name ..)
Run Code Online (Sandbox Code Playgroud)

就像在这个stackoverflow问题中,它输出了很多行,如:

Script agent\Scripts\deactivate.bat cannot be made relative
Run Code Online (Sandbox Code Playgroud)

我的virtualenv仍然破碎.

当我手动将activate.bat更改set VIRTUAL_ENV为新路径时.一些脚本再次工作.但重定位脚本仍然无法运行,大多数脚本仍然坏了

即使运行python interpeter也失败了:

Traceback (most recent call last):
  File "F:\Python27\learn\agent\agent\lib\site.py", line 677, in <module>
    main()
  File "F:\Python27\learn\agent\agent\lib\site.py", line 666, in main
    aliasmbcs()
  File "F:\Python27\learn\agent\agent\lib\site.py", line 506, in aliasmbcs
    import locale, codecs
  File "F:\Python27\learn\agent\agent\lib\locale.py", line 19, in <module>
    import functools
ImportError: No module named functools
Run Code Online (Sandbox Code Playgroud)

有没有什么办法解决这一问题?救命

更新:我还在ENV\Scripts的所有脚本中手动更改了shebang python interpeter行.现在所有失败都与上面相同的python失败

另一个更新: @udi系统python路径是:

['', 'C:\\dev\\Python27\\lib\\site-packages\\distribute-0.6.37-py2.7.egg', 'C:\\
dev\\Python27\\lib\\site-packages\\pip-1.3.1-py2.7.egg', 'C:\\dev\\Python27\\lib …
Run Code Online (Sandbox Code Playgroud)

python virtualenv virtualenv-commands

6
推荐指数
2
解决办法
5915
查看次数

序列化为保留希伯来字符的JSON

我有以下用例:

从数据中,我生成一个带有数据的json,其中一部分是希伯来语单词。例如:

import json
j = {}
city =u'????' #native unicode
j['results']= []
j['results'].append({'city':city}) #Also tried to city.encode('utf-8') and other encodings
Run Code Online (Sandbox Code Playgroud)

为了产生一个json文件,它可以兼作我的应用程序数据库(micro geoapp)和用户可以直接编辑和修复数据的文件,因此我使用json lib和:

to_save = json.dumps(j)
with open('test.json','wb') as f: #also tried with w instead of wb flag.
   f.write(to_save)
   f.close()
Run Code Online (Sandbox Code Playgroud)

问题是我得到了带有u'????'的unicode解码json 表示为:u'\ u05d7 \ u05d9 \ u05e4 \ u05d4'

大多数脚本和应用程序在读取Unicodestring时都没有问题,但是我的USERS却有一个问题!而且,由于参与了开源项目,他们需要直接编辑JSON,因此他们无法弄清楚希伯来语文本。

因此,问题:在另一个编辑器中打开json时,应该如何显示希伯来字符?

我不确定这是否可以解决,因为我怀疑JSON一直都是Unicode,因此无法在其中使用asccii,但不确定。

谢谢您的帮助

python unicode json python-2.7

6
推荐指数
1
解决办法
961
查看次数

Django pre_save 信号 - 异常会导致事务失败吗?

我想在创建用户之前执行一些自定义操作。我想到了使用这个pre_save信号。如果这些操作之一会引发异常,请停止事务,中止创建用户等。

  1. 这是要走的路吗?如果在此步骤中出现某些问题(这是必需的行为),它会中止保存吗?我怀疑是这样,但找不到有关它的文档。

  2. 获取未来 user.id 的最佳实践是什么。根据我的理解,它在预保存中尚不存在,但我需要它作为一些额外自定义操作的输入。

谢谢

python django django-signals

6
推荐指数
1
解决办法
2381
查看次数

Redis-python在一次操作中设置多个键/值

目前我使用基本mset功能来存储键/值;

from common.redis_client import get_redis_client
cache = get_redis_client()
for k,v in some_dict.items():
   kw = {'key': value}
   cache.mset(kw) 

#later:
   cache.get('key')
Run Code Online (Sandbox Code Playgroud)

我分别存储每个键/值(例如,不是在一个json中)因为存储整个dict会把它变成一个字符串,并且需要我在存储和检索时序列化/反序列化,我真的需要访问单独的键/值.

我的问题::有没有办法可以同时使用mset多个键/值?而不是多次写入redis数据库?反之亦然,我可以在一次访问中有多个读取(get)吗?(是的 - 我有很多redis活动正在进行并且负载很重.我确实关心这个)

redis redis-py

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

使用来自另一个容器的容器化 chrome 二进制文件运行 puppeteer

我希望我的代码使用 puppeteer 在一个容器中运行,并使用(可能通过“executablePath”启动参数?)来自另一个容器的 chrome 二进制文件。这可能吗?有什么已知的解决方案吗?

使用案例:

工作代码在多个 k8 pod(作为容器)中运行。“有时”(可能经常或不经常)工作人员需要使用 puppeteer 运行代码。我不想让 docker 变得巨大且受限,因为 puppeteer/chrome 容器是(1.5 GB,如果我没记错的话),我只想从另一个正在运行的容器为我的代码提供所需的二进制文件

注意:这不是关于容器化 puppeteer 的问题,我知道这是一种可能性

node.js puppeteer

6
推荐指数
1
解决办法
3074
查看次数

Bower:使用bower安装传统引导程序(2.3.2)

我有一个使用bootstrap 2.3.2的开源webapp,目前我无法移动到bootstrap 3(完全不同的网格系统) - 我正在尝试移动webapp以使用bower处理依赖关系但是bower install bootstrap#2.3.2取出看起来像原始代码repo没有内置,例如没有css文件夹,只是单独的less文件,没有一个缩小bootstrap.min.js但多个不同的插件(没有连接)等.

这可以解决吗?我应该安装不同的?

twitter-bootstrap bower

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

在vagrant机器中使用elasticsearch设置graylog2服务器

我正在尝试在我的本地开发机器上安装graylog2服务器并遇到弹性搜索设置问题.

我的elasticsearch作为服务安装在我的开发机器上运行的vagrant机器上.所以我的弹性搜索没有安装在127.0.0.1中,而是安装在192.168.50.4(流浪汉机器的ip)中我从流浪汉机器转发了端口9200,但是graylog2服务器似乎无法找到它并停止运行:

错误:无法成功连接到ElasticSearch.检查您的群集状态是否为RED并且ElasticSearch是否正常运行.

添加从vagrant机器转发的端口9300将错误更改为:

引起:org.elasticsearch.common.netty.channel.ChannelException:无法绑定到:0.0.0.0/0.0.0.0:9350

我在graylog conf文件中尝试了这个设置:

elasticsearch_network_host = 192.168.50.4但只会将错误更改为无法绑定的异常

引起:org.elasticsearch.common.netty.channel.ChannelException:无法绑定到:/192.168.50.4:9350 org.elasticsearch.common.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272)

但没有帮助.

我会很高兴任何方向我做错了(使用弹性搜索配置或流浪汉或graylog2)

谢谢!

通过以下答案更新以下建议我更改了以下配置:

elasticsearch_discovery_zen_ping_multicast_enabled = false
elasticsearch_discovery_zen_ping_unicast_hosts = 192.168.50.4:9300
Run Code Online (Sandbox Code Playgroud)

我现在得到这个错误:

2014-06-16 23:04:34,946 WARN : org.elasticsearch.transport.netty - [graylog2-server] Message not fully read (response) for [6] handler org.elasticsearch.discovery.zen.ping.unicast.UnicastZenPing$4@67bd250a, error [true], resetting
2014-06-16 23:04:36,451 WARN : org.elasticsearch.discovery.zen.ping.unicast - [graylog2-server] failed to send ping to [[#zen_unicast_1#][inet[/192.168.50.4:9300]]]
org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream
Caused by: org.elasticsearch.transport.TransportSerializationException: Failed to deserialize exception response from stream
    at org.elasticsearch.transport.netty.MessageChannelHandler.handlerResponseError(MessageChannelHandler.java:169)
    at org.elasticsearch.transport.netty.MessageChannelHandler.messageReceived(MessageChannelHandler.java:123)
    at …
Run Code Online (Sandbox Code Playgroud)

elasticsearch graylog2

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

Vue.js 绑定到名称中带有点的 DOM 自定义事件(如引导事件)

使用 Vue 2.1.10

我可以使用v-on指令绑定到 DOM 事件。例如:

v-on:click
Run Code Online (Sandbox Code Playgroud)

要绑定到 DOM 单击。但是我不知道如何绑定到名称中带有点的事件。例如引导程序中的“show.bs.modal”。

目前,我在created带有常规 DOM 方法的钩子中使用了一种变通方法绑定,但我真的很想为此使用声明性语法。如何做到这一点?谢谢

编辑: 问题是关于允许的语法:我该如何做:

Vue.component('comp',{
  template:'<div v-on:show.bs.modal="sunrise"></div',
  methods:{
    sunrise:function(e){

     }

   }
})
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs2

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

从计划的 lambda 触发 AWS codepipeline/codebuild 并阻止提交触发器

我有一个使用 AWS codebuild 构建 AMI 的 codepipeline,我计划每周运行一个新的服务器映像。

  1. 我想将它作为计划任务运行,我想到使用 lambda 计划任务,但没有看到从 lambda 运行管道源的选项(我想过使用 lambda 的 api,但我宁愿有一个使用现有工具的模式声明式解决方案)有谁知道有内置的解决方案吗?

  2. 我不希望它在代码推送上运行,如何启用?

编辑:澄清

为什么要使用代码管道?因为这个任务对于 lambda 来说太长了。我不想为此旋转一个 ec2 实例(按小时计费)或保留一个几乎不工作的实例。还有其他 AWS 工具可以处理这个问题吗?

aws-codepipeline aws-codebuild

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