小编Zag*_*ags的帖子

将字符串与在Python 2和3中都有效的字节进行比较

将字符串对象与在Python 2和Python 3中都有效的字节对象进行比较的最佳方法是什么?假设两者都是utf8.更一般地说,如何编写Python 2和Python 3兼容的两个对象的比较,每个对象可能是字符串,字节或unicode对象?

问题是"asdf" == b"asdf"Python 2 中为True,Python 3中为False

同时,人们不能盲目地编码或解码对象,因为Python 2中的字符串都有encodedecode方法,但Python 3中的字符串只有编码方法.

最后,isinstance(obj, bytes)对于Python 2中的任何非unicode字符串,返回True,并且仅返回Python 3中的字节对象的True.

python string bytearray python-2.x python-3.x

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

带有本机扩展的 Ruby gem 不适用于 AWS Lambda

我有一个尝试在 AWS Lambda 上运行的 ruby​​ 脚本。我如何让它使用带有本机扩展的 Ruby gem?

我已经安装了我的 Ruby gembundle install --deployment并将它们包含在我的部署中。当我在 lambda 上运行该函数时,出现错误:

忽略 oj-2.18.5,因为没有构建它的扩展。尝试: gem pristine oj --version 2.18.5

加载处理程序时初始化错误

{

"errorMessage": "libruby.so.2.5: 无法打开共享对象文件:没有那个文件或目录 - /opt/ruby/gems/2.5.0/gems/oj-2.18.5/lib/oj/oj.so" ,

...

我尝试在 lambda 代码本身和 lambda 层中包含依赖项。唯一改变的是错误消息中的路径。

Lambda 能够找到我的红宝石宝石。当它们位于错误的位置时,我会收到不同的错误。

/opt/ruby/gems/2.5.0/gems/oj-2.18.5/lib/oj/oj.so 确实存在。

我已经用bundle installUbuntu 和 AWS-linux生成的文件尝试过这个。在这两个系统上,bundle 通知我它是“使用本机扩展安装 oj 2.18.5”。

如果我将 的副本上传libruby.so到我的 lambda,并将环境变量LD_LIBRARY_PATH设置为其位置并使用安装在 AWS-linux 上的一组依赖项修复上面列出的错误,但只会给我一个更不透明的错误:

/lib64/libc.so.6:未找到版本“GLIBC_2.25”(/opt/ruby/lib/libruby.so.2.5 需要)

ruby rubygems amazon-web-services aws-lambda

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

使用python动态创建bash别名

我正在尝试使用 python 动态创建 bash 别名(例如,登录到一组服务器的别名)。我希望能够做这样的事情:

from subprocess import call
SERVERS = [
    ("example", "user@example.com"),
    #more servers in list
]    

for server in SERVERS:
    call('alias %s="ssh %s"' % (server[0], server[1]), shell=True)
Run Code Online (Sandbox Code Playgroud)

问题是子进程在单独的 shell 会话中启动作业,所以程序运行良好,但对我运行它的 shell 会话没有任何影响。

pythonos.system或尝试打印命令并将它们通过管道传送到 bash时也会出现同样的问题(所有这些都会创建别名,但在程序完成后立即销毁的新 shell 中)。

最终,这个目标是从 .bashrc 运行这个脚本

如何做到这一点?

python bash alias dynamic

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

Pydev + Eclipse不对新项目进行代码分析

我在Eclipse + Pydev中有几个现有项目,并且可以对它们进行代码分析。但是,我添加了一个新项目,并且Eclipse并未分析其中的任何代码文件。怎么了?

eclipse pydev

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

调试django-allauth社交网络登录失败

使用django-allauth通过社交提供程序进行OAuth登录时,有时会失败并显示错误页面"社交网络登录失败".没有包含更多信息的日志输出.此日志输出有一个功能请求(https://github.com/pennersr/django-allauth/issues/1120),但已打开一年多.同时,如何获取更多信息来调试此错误?

python django oauth django-allauth

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

将 Elastic Beanstalk 环境从 AWS Linux 1 升级到 AWS Linux 2

我有一个在 AWS Linux 1 上运行 Python 3.6 的 Elastic Beanstalk 环境,我想将其切换到 Amazon Linux 2 上的 Python 3.8。

我知道我可以使用 aws CLIupdate-environment命令升级环境:

aws elasticbeanstalk update-environment --environment-name <ENV_NAME> --solution-stack-name "64bit Amazon Linux 2 v3.3.7 running Python 3.8"
Run Code Online (Sandbox Code Playgroud)

但是,AWS Linux 2 使用不同的配置参数。我无法部署 AWS Linux 2 配置,因为它在 AWS Linux 1 上无效,并且我无法升级到 AWS Linux 2,因为我的配置无效。

如何进行升级?有没有办法就地进行升级?

python amazon-web-services amazon-elastic-beanstalk

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

SQLAlchemy将UTF-8作为Latin1字符串返回

我有一个用UTF-8编码的MySQL数据库,但是当我用SQLAlchemy(Python 2.7)连接它时,我得到了带有Latin1 Unicode字符的字符串.

因此,比利时(België)的荷兰语拼写出来了

'Belgi\xeb'
Run Code Online (Sandbox Code Playgroud)

而不是

'Belgi\xc3\xab'
Run Code Online (Sandbox Code Playgroud)

或者,理想情况下是Unicode对象

u'Belgi\xeb'
Run Code Online (Sandbox Code Playgroud)

python unicode sqlalchemy utf-8 latin1

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

具有内联模型的Django管理页面加载速度非常慢

我有一个Django管理页面,用于具有单个内联模型的模型.当内联模型有许多项目(如75)时,页面加载速度非常慢(大约30秒).即使我排除了内联模型中的所有字段,只需渲染名称,也是如此.删除内联模型会导致页面加载速度非常快(以秒为单位).

如何让此页面加载速度更快?

django django-admin

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

让 SSM 启动会话使用 bash

我使用 AWS Simple Session Manager 和 AWS CLI 通过 SSH 连接到实例。当我调用 时aws ssm start-session --target INSTANCE_ID,它sh在服务器上启动,而不是bash. 有没有办法自定义实例启动时运行的命令?

amazon-web-services aws-ssm

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

我无法从 VPC 内部访问 AWS API 网关

我有一个公共 AWS API 网关。

我在与该 API 网关位于同一区域的 VPC 中有一台服务器。服务器无法访问该 API 网关的端点。对网关的请求挂起并超时。服务器可以访问同一个AWS账户其他区域的API网关就好了。

其他地域的VPC中的服务器可以正常访问API网关。我的本地计算机可以正常访问网关。唯一不能访问网关的是同一地区的服务器。

到底是怎么回事?

amazon-web-services amazon-vpc aws-api-gateway

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