小编Abi*_*tra的帖子

PermissionError:[WinError 5]使用moviepy写入gif拒绝访问python

我正在使用Windows 8.1 64位

我的代码

import pdb
from moviepy.editor import *

clip = VideoFileClip(".\\a.mp4")
clip.write_gif('.\\aasda.gif')
Run Code Online (Sandbox Code Playgroud)

例外是write_gif方法

Traceback (most recent call last):
  File "C:\abi\youtubetogif_project\test.py", line 5, in <module>
    clip.write_gif('G:\\abi\\aasda.gif')
  File "<string>", line 2, in write_gif
  File "C:\Python34\lib\site-packages\moviepy-0.2.1.8.12-py3.4.egg\moviepy\decorators.py", line 49, in requires_duration
    return f(clip, *a, **k)
  File "C:\Python34\lib\site-packages\moviepy-0.2.1.8.12-py3.4.egg\moviepy\video\VideoClip.py", line 435, in write_gif
    dispose= dispose, colors=colors)
  File "<string>", line 2, in write_gif
  File "C:\Python34\lib\site-packages\moviepy-0.2.1.8.12-py3.4.egg\moviepy\decorators.py", line 49, in requires_duration
    return f(clip, *a, **k)
  File "C:\Python34\lib\site-packages\moviepy-0.2.1.8.12-py3.4.egg\moviepy\video\io\gif_writers.py", line 186, in write_gif
    stdout=sp.PIPE)
  File "C:\Python34\lib\subprocess.py", line 848, in …
Run Code Online (Sandbox Code Playgroud)

python windows

28
推荐指数
3
解决办法
10万
查看次数

如何更改 Mustache.js 中的非转义 HTML 分隔符

我知道我可以使用更改默认分隔符Mustache.tags('[[', ']]');

我深入研究了源代码,但无法找到并弄清楚如何更改{{{ }}}默认情况下的非转义 HTML 分隔符。任何帮助表示赞赏。

javascript mustache

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

docker-compose无法识别env_file文件/位置,仍然尝试使用默认的.env

这是我的撰写文件 dev.yml

version: '2'

volumes:
  rethinkdb_data_dev: {}

services:
  rethinkdb:
    image: rethinkdb:latest
    volumes:
      - rethinkdb_data_dev:/home/rethinkdb_data

  rabbitmq:
    image: rabbitmq:latest

  fumio:
    build:
      context: .
      dockerfile: ./compose/fumio_dev/Dockerfile
    depends_on:
      - rethinkdb
      - rabbitmq
    links:
      - rethinkdb
      - rabbitmq
    env_file: ./compose/fumio_dev/dev.env
    environment:
      - GIRLFRIEND_FUMIO_CONFIG=development
      - GIRLFRIEND_FUMIO_NOSQLDATABASE_HOST=rethinkdb
    ports:
      - "${GIRLFRIEND_FUMIO_PORT}:8001"
Run Code Online (Sandbox Code Playgroud)

environment里面的dev.yml文件是故意的,这样我就可以用里面覆盖它们dev.env如果需要的话.

我的dev.env文件,位于compose/fumio_dev/文件夹内,相对于dev.yml文件.

GIRLFRIEND_FUMIO_PORT=8000
Run Code Online (Sandbox Code Playgroud)

这是我跑步时会发生的事情 docker-compose -f dev.yml build

在此输入图像描述

如果我.env在根文件夹中提供文件,它运行正常,docker-compose会忽略该env_file值并尝试使用默认值.env.所以docker-compose env_file在某种程度上不按预期工作或者我错过了什么?

我的docker-compose版本是1.8.0,我将它降级为1.7.1但仍然没有运气(使用pip安装).

docker docker-compose

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

如何在序列化大量 GeoDjango 几何字段时进行性能优化?

我正在开发一个 GeoDjango 应用程序,它使用教程中提供的 WorldBorder 模型。我还创建了自己的区域模型,该模型与 WorldBorder 相关联。所以一个 WorldBorder/Country 可以有多个 Region,其中也有边界(MultiPolygon 字段)。

我使用 DRF 为它制作了 API,但它太慢了,以 GeoJSON 格式加载所有 WorldBorder 和 Region 需要 16 秒。返回的 JSON 大小为 10MB。这合理吗?

我什至将序列化器更改为serpy,这比DRF GIS序列化器快得多,但仅提供 10% 的性能改进。

分析后发现,大部分时间都花在了 GIS 功能上,用于将数据库中的数据类型转换为坐标列表而不是 WKT。如果我使用 WKT,序列化速度要快得多(1.7s 与 11.7s 相比,WKT 仅适用于 WorldBorder MultiPolygon,其他一切仍在 GeoJson 中)

我还尝试使用低容差 (0.005) 的 ST_SimplifyVW 压缩 MultiPolygon 以保持准确性,从而将 JSON 大小降低到 1.7 MB。这使得总负载为 3.5s。当然,我仍然可以找到平衡精度和速度的最佳容差。

下面是分析数据(简化的 MultiPolygon 中查询的突然增加是由于 Django QS API 的错误使用来使用 ST_SimplifyVW)

在此处输入图片说明

编辑:我修复了数据库查询,因此查询调用在 75 次查询时保持不变,正如预期的那样,它不会显着提高性能。

编辑:我继续改进我的数据库查询。我现在将它减少到只有 8 个查询。正如预期的那样,它并没有提高那么多的性能。

在此处输入图片说明

下面是函数调用的分析。我强调了花费大部分时间的部分。这是使用vanilla DRF GIS实现。在此处输入图片说明

下面是当我将 WKT 用于没有 ST_SimplifyVW …

python gis django geodjango geojson

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