小编Jon*_*ine的帖子

第一个自制公式,在收集依赖关系和资源后不了解安装过程

上下文(跳过除非要求)

我是一个超级小组,在这里,在这里,所以请你好!我想写一个公式的项目用于认知心理学研究的背景下; 它可能不会仅仅因为用户群非常狭窄而看到非常广泛的分布; 到目前为止,我刚刚在每个人的计算机上手动安装这个.但它终于得到充分利用,这已不再可行.

我所知道的唯一"Ruby"来自于编写SCSS/Sass,所以我大多只是复制并粘贴成功之类的东西.

问题

在坚果壳中,我试图通过Homebrew分发我已经工作了一段时间的项目.这包括:

  • 我写的主要是一个较大的Python模块
  • 基于Python的CLI,用于与所述模块交互
  • CLI使用模块创建内容时使用的一些模板文件
  • 几个Python依赖项
  • 一个Python依赖项不是由PyPi分发的,而是在GitHub上提供的
  • 一个编译的 Python依赖项,分布在第三方,​​通常是硬件购买
  • SDL2
  • 一些你从未听说过的框架

我明白:

  • 如何指定brewable依赖项
  • 如何将我的Python依赖项包含为资源.我为我的模块编写了一个非常简单的setup.py,我已经使用了大约一年,但是,我手动安装的所有其他部分.
  • 如何安装项目的某些基本规范方面(即将CLI链接到/ usr/local/bin

我不明白:

  • 如何在Cellar中实际安装任何东西 如何安装自制语言片段未涵盖的某些几率和结尾我已经从阅读公式中解脱了
  • 得到所有这些位,一旦他们在酒窖中找到对方(我的意思是我抽象地理解这是通过符号链接和$ PATH变量实现的,但具体地说,这超出了我的深度 - 我是一个自学成才的网站-developer出身的程序员换了,实验室-I-工作在)
  • 在哪里放置CLI及其模板文件,以及如何配置setup.py(如果确实是setup.py应该在哪里完成)以期望它们在酿造的位置

值得注意的是,我的实验室使用的是Python系统.我并不反对在brew安装的Python版本中运行(实际上我更喜欢它),但是,安装不能导致系统Python停止在命令行使用的默认版本,主要是因为如果用于执行程序的记忆例程失败并且我不能保证他们没有在系统site-packages目录中安装东西(抱歉),那么预期的用户群(即熟练程度非常低的编码器)将会惊慌失措并逃离.

如果其中任何一个不清楚,无论如何向我提出问题,我将很乐意澄清.

这是一个指向Git存储库的链接,用于引用项目的目录结构.

到目前为止,我的剧本并不是很大,据我所知:

class Klibs < Formula
  desc ""
  homepage ""
  url "https://github.com/jmwmulle/klibs/archive/0.9.1.4.tar.gz"
  version "0.9.1.4"
  # sha256 is wrong; just been editing the local cache while I learn how to do this properly :S
  # (in case anyone tries to brew create the repository and notices) …
Run Code Online (Sandbox Code Playgroud)

python homebrew

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

扩展以填充CSS网格布局中的剩余空间

几年后回到webdev,学习这个CSS网格业务,但也消除了被遗忘的知识; 如果存在,请承担愚蠢.

这是一个目标的模型:在此输入图像描述

我正在构建一个简单的CMS界面,应该向右扩展以填充浏览器屏幕; 除了第 1列之外,我当前的代码导致外部网格的第2列与浏览器一样宽; 或者也许其中一个孩子正在造成这种情况,它只是在扩大以适应.无论哪种方式,它都会横向溢出页面

所以代码:

#main {
  width: 100%;
  display: grid;
  grid-template-columns: 250px 100%;
  grid-template-rows: 100px 100%;
}

#col-2-outer {
  display: grid;
  grid-template-columns: 250px auto;
  grid-template-rows: 100%;
}

#row-1-inner {
  grid-column: span 2;
}

#col-2-inner table {
  width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
<div id="main">
  <div id="col-1-outer"></div>
  <div id="col-2-outer">
    <div id="row-1-inner"></div>
    <div id="row-2-inner">
      <div id="col-1-inner"></div>
      <div id="col-2-inner">
        <table></table>
      </div>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

仅供参考,目前我已经放弃了模板区域,直到我掌握了基础知识(除非这样解决了我的问题,但我认为这是严格的代码组织功能?).

html css alignment css-grid

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

使用python计算径向角度,顺时针/逆时针方向,给定像素坐标(反之亦然)

对于我不会涉及的上下文,我需要两个基本上彼此互逆的函数.

angle_to()应返回的度数一个clockhand将不得不求助于从0°行进到连接线路p1p2(即p1是旋转的中心),和其中两个p1p2像素坐标.

point_pos()应返回的,其中长度的clockhand像素坐标amplitude就会把它变成angle.

对于这两种,正x轴= 0°= 3时,和参数rotation的计算开始在顺时针或逆时针方向上之前应该转移该轴; 然后说计算应该与这个调整后的参考方向一致.

我在每个方面取得的进展如下:失败的是:

当顺时针= False时,它返回顺时针条件的正确答案; 当顺时针= True时,angle_between()返回带有舍入错误的正确答案,而point_pos()完全给出了错误的答案.

我还附上了可视化解释,我在Illustrator嘲笑了作为道歉,互联网是无力解决这一点,在什么情况下,我追求的是不明确的.

编辑:根据下面的一个答案清理了一条不必要复杂的行.

from math import sin, cos, radians, pi, atan2, degrees

def angle_to(p1, p2, rotation=0, clockwise=False):
    if abs(rotation) > 360:
        rotation %= 360
    p2 = list(p2)
    p2[0] = p2[0] - p1[0]
    p2[1] = p2[1] - p1[1]

    angle = degrees(atan2(p2[1], p2[0]))
    if clockwise:
        angle -= rotation
        return angle …
Run Code Online (Sandbox Code Playgroud)

python trigonometry

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

大多数跨浏览器安全的方式来在纯CSS,CSS/SVG或CSS/HTML5中构建动态和可恢复的图形元素

1.目标

我正在开发一个高度动态,可扩展的块/内联块级元素样式.它看起来像这样:


在此输入图像描述

2.我真正需要的东西

基本上就我的选择中的选择提供建议.作为主要关注点,哪种方法与跨浏览器友好性和可扩展性最兼容?

我正在使用SASS来渲染我的CSS,因此<style>我的示例中的元素是伪代码.我希望能够使用明确定义的类heirarchy动态控制以下内容:

  • 文字内容(特殊)
  • 身高(变化很大)
  • 宽度(5种可能的宽度;我在Zurb的Foundation 5中开发,元素总是在1到5列之间)
  • 背景颜色(这里只有2-5个选项)
  • 颜色(这里只有3个选项)
  • 方向(L&R可能足够)

我尝试过的事情

位图

这不好; 我必须做太多而无法控制点的角度,因为它在高处伸展.

纯CSS

这是我期望我必须做的.

<!-- the HTML -->
<div class="arrow-label">
    <h4 class="expand"><?php echo $label-text;?></h4>
    <a href="#" class="triangle right-facing"></a>
</div>

<style>
  div.arrow-label {
    h4 {
      display:inline-block;
      background-color: $arrow-label-background-color;
    }
     .triangle { background-color: $arrow-label-background-color; }
  }

.triangle {
  width:0;
  height:0;
  display:inline-block;
  margin:0;
  border-style: solid;
  transition: border-color 300ms ease-out; 
  // I have removed transitional selectors (ie. :hover) below for brevity's sake

    &.up-facing {
      border-width: 0 …
Run Code Online (Sandbox Code Playgroud)

html css html5 svg

5
推荐指数
0
解决办法
373
查看次数

如何在 Python 中将 SVG 路径插入像素坐标(不仅仅是光栅)

我需要转换路径的 SVG 描述,即。就像是:

M400 597 C235 599 478 607 85 554 C310 675 2 494 399 718 C124 547 569 828 68 400 C-108 317 304 703 96 218 L47 215 L400 290 C602 -146 465 467 550 99 L548 35 L706 400 L580 686 C546 614 591 672 529 629 L400 597 Z

进入沿着该路径落下的所有像素的列表(假设画布是显示器的大小。如您所见,我需要处理的路径数量为涂鸦并且非常复杂。理想情况下,我希望生成这样的路径,然后将整个事物转换为逐像素描述,即。

p= [(403, 808), (403, 807), (403, 805), (403, 802), (403, 801), (403, 800), (403, 799), 
(403, 797), (403, 794), (403, 792), (402, 789), (401, 787), …
Run Code Online (Sandbox Code Playgroud)

python svg drawing

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

使用MD5校验和在多个硬盘上搜索重复文件是否安全?

我的任务是整合大约15年的实验室记录,其中大部分是学生作业或原始数据.我们正在谈论100,000多个人工生成的文件.

我的计划是编写一个Python 2.7脚本,它将映射整个目录结构,为每个目录结构创建校验和,然后标记重复项以进行删除.我预计可能会有10-25%的重复.

我的理解是MD5碰撞在理论上是可能的,但是这不太可能,这实际上是一个安全的程序(假设如果发生1次碰撞,我的工作将是安全的).

这是一个安全的假设吗?如果实现很重要,我打算使用的唯一Python库是:

  • hashlib 校验和;
  • sqlite 用于数据处理结果;
  • os 用于目录映射

python checksum md5

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

如何使用 Python 的 svgwrite 模块应用 alpha 掩码?

我正在使用svgwrite模块以编程方式为项目创建一些图像。我需要使用 alpha 蒙版来创建渐变的透明元素。我不清楚如何在创建后实际应用蒙版。

在下面的示例中,我尝试使用圆形渐变在其他灰色方块中创建渐变透明环。我可以创建正方形;我可以单独创建圆形渐变 def 和一个填充它的圆圈。

将一个应用到另一个作为面具我不明白。

def my_mask():
            #  define some params
            width = "500px"
            height = "500px"
            radius = "50%"
            black = "rgb(255, 255, 255)"
            grey = "rgb(127,127,127)"

            #  create the drawing surface
            canvas = svgwrite.Drawing('temp_mask.svg', (width, height))

            #  create defs, in this case, just a single gradient
            rad_grad = canvas.radialGradient(("50%", "50%"), "50%", ("50%", "50%"), id="rad_grad")
            rad_grad.add_stop_color("0%", black, 0)
            rad_grad.add_stop_color("66.6%", black, 255)
            rad_grad.add_stop_color("100%", black, 255)

            #  now to draw; first I create the rect …
Run Code Online (Sandbox Code Playgroud)

python svg

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

OS X 10.8:修复严重破坏的Python安装,路径变量,模块

很抱歉发布了这些类型的问题,我看了很多,但找不到答案.

我是一个Python小组,只是对Unix的松散掌握.

我特别需要在Python2.5中开发.我还需要访问AppKit.我通过通用安装程序和我需要的库安装了Python2.5 .当时,默认的OS安装2.7能够导入AppKit.同时,Python2.5不能.我发现这个教程用于替换Python的本机安装,并认为如果我按照它来执行,但是为了切换2.5安装2.5,一切都会膨胀.

在学习完本教程后,我的原生Python确实是2.5.但是,仍然无法导入AppKit,它继续安装在以前用于本机Python的地方(即"没有名为AppKit的模块").

  • Xcode是v.4.6.1并安装了CL工具
  • 来自bash,which python返回/usr/bin/python
  • 我的主要安装位于:/System/Library/Frameworks/Python.framework带有符号链接/Library/Frameworks/Python.framework.二进制同样联系在一起; usr/bin/python(和pythonw,python-config,pydoc)都是符号链接的/usr/local/bin.
  • 我已经在我发现它的每个位置删除了smtpd.py.
  • 我在两者中都留下了easy_install(和easy_install-2.5/6/7)/usr/bin,/usr/local/bin 因为我从未使用过easy_install,也不知道如何处理它.

我完全清楚我已经把事情搞得一团糟.任何人都可以告诉我我需要做些什么才能恢复原状?

更新: 根据以下评论,我确实最终重新安装了Mountain Lion.不可能不那么无痛; 我确实正确安装了AppKit,并且一旦重新安装本机Python,我就能立即工作.

python macos python-2.5 appkit

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

如何有条件地使python的argparse模块需要额外的参数

基本用途:

my_framework create Project_title /path/to/project

要么

my_framework create Project_title (即使用当前工作目录)

要么

my_framework update (即更新my_framework而不是创建新项目)

我知道我可以name通过提供默认值来使其成为可选项,但实际上,如果用户输入了第一个参数,name不是可选的create.

我想出的最佳解决方案是使用默认值name,然后,如果参数name等于其默认值,则抛出错误.但如果有办法让argparse为我做这项工作,我宁愿学会这样做.

写两个剧本, my_framework_createmy_framework_update不会从审美角度吸引我.

#!/usr/bin/env python


import argparse
import os
import shutil
from subprocess import call

template_path = "/usr/local/klibs/template"
parser = argparse.ArgumentParser("MY_FRAMEWORK CLI", description='Creates a new MY_FRAMEWORK project or updates MY_FRAMEWORK')
parser.add_argument('action', choices=['create', 'update'], type=str, help='<help text>')
parser.add_argument('name', type=str, help='<help text>')
parser.add_argument('path', default=os.getcwd(), nargs="?", type=str, help='<help text>')
args = parser.parse_args()

if …
Run Code Online (Sandbox Code Playgroud)

python argparse

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

从 3D numpy 像素数组中删除空的“行”和“列”

我基本上想用 numpy 裁剪图像——我有一个 3 维numpy.ndarray对象,即:

[ [0,0,0,0], [255,255,255,255], ....]
  [0,0,0,0], [255,255,255,255], ....] ]
Run Code Online (Sandbox Code Playgroud)

我想删除空格,在上下文中,它是[0,0,0,0].

对于这个例子,让每个像素只是一个数字,我试图基本上做到这一点:

鉴于此:*编辑:选择一个稍微复杂的例子来澄清

[ [0,0,0,0,0,0] [0,0,1,1,1,0] [0,1,1,0,1,0] [0,0,0,1,1,0] [0,0,0,0,0,0]]

我正在尝试创建这个:

[ [0,1,1,1], [1,1,0,1], [0,0,1,1] ]

我可以用循环来暴力破解,但直觉上我觉得 numpy 有更好的方法来做到这一点。

python arrays numpy

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