小编tiw*_*iwo的帖子

为什么 Windows 上的“bin”目录的命名不同(“Scripts”)?

venv模块(随 Python 3.3 或更高版本一起提供)和virtualenv仍然广泛使用,允许将项目的依赖项安装到特定于该项目的目录,而不是系统范围的 Python 安装。

这种“虚拟环境”的子目录之一包含 Python 解释器的副本以及“激活”和“停用”脚本 - 但Scripts在 Windows 和bin所有其他系统上都会调用此子目录。

这实在有些令人 惊讶为什么他们要特例Windows?

PEP 405venv或 virtualenv 源(或文档)均不包含任何解释 - virtualenv 中的提交消息指的是“约定”)

python portability virtualenv virtual-environment

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

点集子集的最小周长凸包

给出飞机上的n个点.No 3是共线的.

给定数k.

找到k个点的子集,使得k个点的凸包具有k个点的子集的任何凸包的最小周长.

我可以想到一个天真的方法在O(n ^ kk log k)中运行.(找到大小为k的每个子集的凸包并输出最小值).

我认为这是一个NP问题,但我找不到任何适合减少的东西.

有人对这个问题有什么想法?

一个例子,

the set of n=4 points {(0,0), (0,1), (1,0), (2,2)} and k=3
Run Code Online (Sandbox Code Playgroud)

结果:

{(0,0),(0,1),(1,0)}
Run Code Online (Sandbox Code Playgroud)

由于该组包含3个点,因此结果的凸包和周长小于任何其他3个点的周长.

algorithm convex-hull computational-geometry

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

Git:repo包含一个空目录 - 会发生什么?

Git 跟踪文件,而不是目录,我们当前不能add清空目录(标准技巧不会添加空目录,而是添加文件,请参阅常见问题解答).

然而,git repo可能包含一个空目录.那么我会克隆一个repo或签出一个包含空目录的分支会发生什么?它是在工作树中创建的吗?

git directory

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

为什么.PHONY:目标而不是目标:.PHONY?

我仍然不明白为什么Makefiles中的"假冒"规则将".PHONY"作为目标.作为先决条件,这将更合乎逻辑.

我需要详细说明吗?如果A依赖B并且B是假的,那么A也是虚假的.因此,依赖图.PHONYB→交通A相比,是令人惊讶的WAAY .PHONY→交通B→交通A.(另一个论点是make必须处理.PHONY目标的实现非常特殊.)

虽然这种批评似乎相当理论化(毫无意义) - "因为制作是如此古老,它的语法就在这里".但我不建议任何语法更改,有一个替代方案:

使用GNU Make(至少),以下Makefile声明虚假target_A:

target_A: _PHONY
        touch target_A

_PHONY:
        #noop
Run Code Online (Sandbox Code Playgroud)

问题1:这是如此简单和干净,当然我不是它的第一个发明者.事实上,鉴于这种替代方案,为什么make需要特殊的语法?

在我看来,这也很好地解决了关于虚假目标中的通配符的问题,甚至可以说明.当初学者怀疑时,PHONY的含义.

问题2:您能否想到这种方法较差的任何情况?(调用make .PHONY有用吗?)

(我应该提一下,当我调用其他make的时,GNU Make是我有一些经验的唯一实现 - 阅读和编写Makefile.)

makefile gnu-make target

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

制定目标取决于变量

我希望(GNU)make在变量变化时重建.我怎样才能做到这一点?

例如,

$ make project
[...]
$ make project
make: `project' is up to date.
Run Code Online (Sandbox Code Playgroud)

......喜欢它,但我更喜欢

$ make project IMPORTANTVARIABLE=foobar
make: `project' is up to date.
Run Code Online (Sandbox Code Playgroud)

重建部分或全部project.

variables makefile

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

Firefox 无法加载临时插件:错误:找不到配置文件目录

我开始研究一个小的 firefox 插件,它是一个基本的 js 脚本,这方面没问题。

我已经做了一些成功的测试,并有一些令人满意的结果。但是从昨天开始,我无法在 Firefox 中加载任何临时插件。每次我尝试启动一个(即使是一个简单的 console.log("hello world")),我都会在控制台中收到错误消息:

Error: Can't find profile directory. XULStore.jsm:66:15
Run Code Online (Sandbox Code Playgroud)

它在 2 天前完美运行,问题出现在昨天,据我所知,我没有进行任何 Firefox 升级。

我进行了一些研究,找到了两个有用的链接,一个在 discourse.mozilla 上的人有完全相同的问题......但没有答案,另一个在 bugzilla 上说这个错误不会被修复,因为它应该好久不见…… https://bugzilla.mozilla.org/show_bug.cgi?id=1548017

我在这里问是因为我找不到任何解决我的问题的方法,而现在,自从我陷入开发进度以来已经 24 小时了。我对任何可能有效的建议持开放态度。

  • 我检查了我的配置文件目录和文件,它们存在并且没问题……基本上就是这样。我不熟悉可用于 Firefox 的工具,所以我可能忘记检查可能有帮助的基本内容。

PS:我在任何时候都不会使用 selenium(我在这里看到了一些关于 selenium 类似问题的请求,但我在这里写的是 vanilla JS,所以,我认为这不是同一个问题)

firefox firefox-addon firefox-addon-webextensions

7
推荐指数
0
解决办法
2139
查看次数

如何从列表中删除冗余顶点

我有顶点列表,即List<Point>包含以下广场的点:(0,0),(1,0),(2,0),(3,0),(4,0),(4,1), (4,2),(4,3),(4,4),(3,4),(2,4),(1,4),(0,4),(0,3),(0 ,2),(0,1),(0,0)

在此输入图像描述

要绘制一个正方形,我只需要四个点(0,0),(0,4),(4,4),(4,0),如何从列表中删除冗余(这使得直线)点?

它并不总是正方形,基本上我想减少点数,如果它们形成直线.例如(0,0),(0,1),(0,2),(0,3),(0,4)使直线而不是绘制所有四个点,从点可以快速绘制一条直线(0,0),(0,4).

c# list point filter

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

从Fortran调用C:``void*``返回值

如何void *function(...)从Fortran 打电话?

我目前正试图从Fortran调用一些C函数.我以前这样做过,但我只调用了自己的功能.例如,要致电:

void add(int *csum, int *ca, int *cb) { *csum = *ca + *cb; }
Run Code Online (Sandbox Code Playgroud)

来自Fortran,我使用过:

INTEGER :: fsum, fa, fb
CALL add(fsum, fa, fb)
Run Code Online (Sandbox Code Playgroud)

这很好用.现在我有几个大致类似的功能:

void *create_obj(void);
void use_obj(void *obj);
void free_obj(void *obj);
Run Code Online (Sandbox Code Playgroud)

甚至:

struct private_struct; /* defined somewhere else */
struct private_struct *create_p(void);
void use_p(struct private_struct *p);
void free_f(struct private_struct *p);
Run Code Online (Sandbox Code Playgroud)

结构是私有的,即我不知道它的成员.

问题:如何将返回值输入Fortran?我并不真的需要访问他们,但我必须上忙的过程中存储create...use...destroy的生命周期.

fortran

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