小编lun*_*oko的帖子

通过venv分发Python应用程序

假设我有一个将用作命令行工具的Python应用程序。这个程序有一些外部依赖。我将如何分发它?

我知道在虚拟环境(virtualenv或pyvenv)中安装Python东西很常见,但是如果要从命令行使用该应用程序,我不想让我或我的用户每次激活正确的虚拟环境想要使用我的应用程序。

这个问题有方法解决吗?还是我应该将所有依赖项放在setup.py中,然后由用户决定是否创建虚拟环境?

python software-distribution virtualenv

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

绘制多个HTML画布只绘制最后一个?

在我写的应用程序中,有一个页面,我从我的数据库加载多个base64编码的图像,并将它们放在JavaScript数组中.这是通过EJS模板在服务器上发生的,因此当用户收到HTML页面时,存在base64编码的图像(我检查了这个).

下一步是在客户端使用JavaScript来遍历画布,然后用每个画布填充相应的图像数据.但是,我有一些奇怪的行为.每次只填充最后一个画布.

for (var i = 1; i < 13; i++) {
    var ctx = document.getElementById('canvas-' + i).getContext('2d'),
        image = new Image();

    image.onload = function() {
        ctx.drawImage(image, 0, 0);
    }
    image.src = images[(i - 1)];
}
Run Code Online (Sandbox Code Playgroud)

images数组定义在此代码的正上方(在相同的范围内).如果我执行这样的代码,只会填充最后一个画布(id为'canvas-12').如果我将for循环结束条件降低到例如i <11,则只填充id为'canvas-10'的画布.

有什么我想念的吗?

html javascript loops for-loop canvas

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

Python 3正则表达式查找多行注释

我正在尝试使用 Python 3 中的正则表达式在 PHP 源代码中查找注释块。PHP 注释采用以下格式:

/**
 * This is a very short block comment
 */
Run Code Online (Sandbox Code Playgroud)

现在我想出了以下正则表达式:

'/\*\*[.]+?\*/'
Run Code Online (Sandbox Code Playgroud)

我认为 - 与 DOTALL 标志结合 - 应该可以做到这一点,但没有。它没有找到任何东西。奇怪的是,当我删除尾部斜杠时,如下所示:

'/\*\*[.]+?\*'
Run Code Online (Sandbox Code Playgroud)

然后它找到以下字符串:

/**\n\t*
Run Code Online (Sandbox Code Playgroud)

我不知道为什么正则表达式找不到星号后跟斜杠...我检查了我正在搜索的文件以仔细检查我的评论中没有拼写错误(我没有)。另外,斜杠在正则表达式中不是特殊字符,所以我不必转义它。(我尝试过,但没有帮助。)

谁能告诉我我的正则表达式有什么问题吗?:)

顺便说一句,我也遇到过这个!有人试图在 Java 中做同样的事情的线程。最终的获胜答案以我现在的方式完成了他的正则表达式,所以我一无所知:(这可能是Python正则表达式中的一个错误还是我完全错过了一些东西?

任何帮助深表感谢!:D

python regex comments python-3.x

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

在SailsJS 0.9.7中手动包含资产

我正在尝试在SailsJS中手动包含一些资产,但是我无法让它们工作.他们保持404'.

config/routes.js注释告诉我,assets/images/1.png中的图像可以通过访问href="images/1.png".同样的事情似乎不适用于样式表,因为<link rel="stylesheet" href="/styles/style.css">找不到404的结果.

我看到Sails最近使用了非常广泛的Gruntfile,但我想要更多的控制权,所以我抛弃了它.我知道打破资产的自动包括,但这也打破了手动插入?:(

编辑:
我在文档中发现公共资产不再从assets文件夹提供,而是从.tmp/public文件夹提供.有没有办法可以改变这种行为,只使用assets /文件夹作为面向公众的目录?

另一种选择当然是简单地使用Sails的Gruntfile方法,但它仍然会减少编译器错误,即使我手动编译时使用的lessc一切工作正常......

javascript assets sails.js

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

如何对Django中的所有记录进行反向外键查找?

我正在尝试使用Django 1.3进行反向SQL查找.我发现了很多相关的问题,但不幸的是我只能在单个记录上找到答案,而不是一次找到多个记录.

基本上,这是我的情况:我有一个模型'技术',看起来像这样:

class Technique(models.Model):
    title = models.CharField(max_length=32)
    description = models.CharField(max_length=256)
    skill_level = models.IntegerField()
    parent_technique = models.ForeignKey('self', blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

目前我只列出了所有无主义技巧.

t = get_list_or_404(Technique.objects.filter(parent_technique=None))
Run Code Online (Sandbox Code Playgroud)

现在我想要的(或者至少我想要的)是t获得一个加法字段'childs'的所有条目,列出了将当前技术列为其父项的所有技术.谁能帮我这个?

此外,如果他们是实现我想要的另一种方式,请随时贡献它.我刚刚开始使用Django,所以我可能不知道任何其他方法.

非常感谢提前!

django django-models django-views reverse-lookup

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