小编T.N*_*Nel的帖子

为什么大小为2⁶³36字节,但2⁶³-1只有24字节?

Python中的所有东西都是一个对象.因此Python中int的大小将比平常大.

>>> sys.getsizeof(int())
24
Run Code Online (Sandbox Code Playgroud)

好的,但为什么还需要12个字节才能进行2?³比较2?³ - 1,而不仅仅是一个?

>>> sys.getsizeof(2**63)
36
>>> sys.getsizeof(2**62)
24
Run Code Online (Sandbox Code Playgroud)

我得到的2?³是一个long和2?³-1一个int,但为什么12个字节的区别?

不再直观,我尝试了一些其他的东西:

>>> a = 2**63
>>> a -= 2**62
>>> sys.getsizeof(a)
36
Run Code Online (Sandbox Code Playgroud)

a即使它现在可以在int中,仍然存储为long.所以这并不奇怪.但:

>>> a -= (2**63 - 1)
>>> a = 2**63
>>> a -= (2**63 - 1)
>>> a
1L
>>> sys.getsizeof(a)
28
Run Code Online (Sandbox Code Playgroud)

一个新的尺寸.

>>> a = 2**63
>>> a -= 2**63
>>> a
0L
>>> sys.getsizeof(a)
24
Run Code Online (Sandbox Code Playgroud)

回到24个字节,但仍然很长.

我得到的最后一件事:

>>> sys.getsizeof(long())
24
Run Code Online (Sandbox Code Playgroud)

题:

内存存储在这些场景中如何工作? …

python cpython python-2.7 python-internals

51
推荐指数
2
解决办法
5309
查看次数

如何在debian 64位上正确安装wkhtmltopdf?

我正在尝试安装wkhtmltopdf,但是当我这样做时:

sudo dpkg -i wkhtmltox-0.12.1_linux-trusty-amd64.deb
Run Code Online (Sandbox Code Playgroud)

我明白了:

Preparing to unpack wkhtmltox-0.12.1_linux-trusty-amd64.deb ...
Unpacking wkhtmltox (0.12.1) over (0.12.1) ...
dpkg: dependency problems prevent configuration of wkhtmltox:
  wkhtmltox depends on libjpeg-turbo8; however:
  Package libjpeg-turbo8 is not installed.

dpkg: error processing package wkhtmltox (--install):
 dependency problems - leaving unconfigured
Processing triggers for man-db (2.7.0.2-5) ...
Errors were encountered while processing:
 wkhtmltox
Run Code Online (Sandbox Code Playgroud)

所以我尝试过:

apt-get update
apt-get install libjpeg-turbo8
Run Code Online (Sandbox Code Playgroud)

然后我明白了

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libjpeg-turbo8 is not available, …
Run Code Online (Sandbox Code Playgroud)

linux install apt-get openerp wkhtmltopdf

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

后端中的Odoo 11空白页

问题

有时,在Odoo后端中,窗口将仅显示菜单项,其余屏幕保持空白。
单击任何菜单都会将URL更改为 https:// my_server_ip / web?debug#menu_id = 68&action =
唯一会更改的是menu_id的值,但action的值将保持为空。

起初,它以为是刷新我已经在浏览的页面。但是我无法始终如一地重现该错误(一旦发生,每次都会重现该错误,但是如果我清除缓存/ Cookie可以在短时间内解决问题,该问题将在某个时候重现,但是我找不到可以在需要时复制它的行为。它只会在某个随机点发生)。它只是在一段时间(有时是一个小时的使用时间)之后,有时在两个页面加载之后发生的。有时,一天没问题,但是明天尝试时,错误会再次发生。

尝试过的解决方案

这是尝试过的relevent解决方案:

  1. 清除缓存和cookie。
  2. 重新启动服务器
  3. 删除ir_attachment其中包含的所有条目web/content。(如有关Odoo git问题的建议)。
  4. 从头开始创建新的VM(与错误的Odoo VM无关),请在此新VM上安装Postgres和Odoo。然后继续重新安装所有已安装的模块。

以上解决方案的影响

以相同的顺序 :

  1. 问题已解决,但过了几次又发生。
  2. 通常无法单独运行,但有时可以。
  3. 我认为在执行此操作并重新启动服务器后它可以工作,但现在无法重现该错误以再次对其进行测试。当错误再次出现时,我将尝试进行编辑以确认这项工作。
  4. 机器行为是相同的。起初它可以工作,但是过了一会儿,该错误再次开始。

组态

  • 版本Odoo:Odoo 11.0-20190108(社区版)
  • 操作系统:Debian Stretch
  • 安装的社区模块:
    • backend_theme_v11
    • 基本位置
    • base_location_geonames_import
    • 发送短信
    • web_回应
  • 还安装了内部为此任务开发的自定义模块。
  • 安装在Proxmox上的VM
  • Nginx服务

odoo.conf的内容

; This is the password that allows database operations:
; admin_passwd = [admin_password]
db_host = False
db_port = False
db_user = odoo
db_password = [db_password]
addons_path …
Run Code Online (Sandbox Code Playgroud)

odoo odoo-11

6
推荐指数
0
解决办法
879
查看次数

如何从安卓应用程序连接到 Odoo 数据库

我正在开发一个 Android 应用程序,我想从 Odoo 服务器检索数据。

为此,我在 Odoo 中开发了一个自定义模块,并在其中创建了一个控制器。

我的控制器:

import json
import xmlrpc.client as xmlrpclib
from odoo import http
from openerp.http import Response

class resUserController(http.Controller):
    url = '<my url>'
    db = '<name of my database>'

    @http.route('/user/login', type='json', method='GET', auth='public')
    def get_login(self, **kwargs):
        username = kwargs.get('email')
        password = kwargs.get('password')
        common = xmlrpclib.ServerProxy('{}/xmlrpc/2/common'.format(self.url), allow_none=True)

        uid = common.authenticate(self.db, username, password, {})
        if uid:
            Response.status = '200 Succesful operation'
            json_result = {'token': uid}
            return json.dumps(json_result)
        Response.status = '400 Invalid credentials'
        return
Run Code Online (Sandbox Code Playgroud)

当我从 python 脚本调用它来尝试它时,它工作正常,我得到一个 …

python json python-3.x odoo odoo-11

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

如何转换文件以通过 JSON 发送(至 Odoo 控制器)

我有一个为特定模型创建新记录的控制器。
该模型包含一个fields.Binary.

控制器如下所示:

@http.route('/mymodel/create', type='json', method='POST', auth='user')
def create_record(self, **kwargs):
    """
    @params:
    'field1': string
    'field2': int
    'binaryField': binary
    """
    values = {'my_model_field_1': kwargs.get('field1'),
              'my_model_field_2': kwargs.get('field2'),
              'my_model_binary_field': kwargs.get('binaryField')}
    request.env['my_model'].create(values)
Run Code Online (Sandbox Code Playgroud)

我的问题是我应该如何从连接到服务器的远程应用程序发送文件?

我可能必须将其作为字符串发送,因为它是以 json 格式发送的。我必须如何修改我的控制器才能正确接收它?
我将不胜感激,提供一个将文件转换为可通过 Json 发送的字符串的代码示例。我还必须从任何语言转换它,因为我正在构建一个 API,二进制字段将识别的标准是什么?

python json odoo odoo-11

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