小编jme*_*kow的帖子

git合并具有不同目录结构的分支

我对git有些新意,我已经使用它好几个月了,我很乐于完成大部分的基本任务.所以......我认为是时候承担一些更复杂的任务了.在我的工作中,我们有一些人在使用旧代码来更新它,这涉及实际的代码工作并更新目录结构以使其更加模块化.我的问题是这两件事可以在并行分支中完成,然后合并或重新组合.我的直觉说不,因为dir重组是重命名,git通过添加新文件并删除旧文件来重命名(至少这是我理解它的方式).但我想确定一下.
这是场景:父分支看起来像:

??? a.txt
??? b.txt
??? c.txt
Run Code Online (Sandbox Code Playgroud)

然后我们分支两个说,branchA和branchB.在branchB中我们修改结构:

??? lib
?   ??? a.txt
?   ??? b.txt
??? test
    ??? c.txt
Run Code Online (Sandbox Code Playgroud)

然后在branchA中我们更新a,b和c.

有没有办法将branchA中完成的更改与branchB中的新结构合并?想到rebase,但是,我不认为lib/a.txt实际上是在git mv之后连接到a.txt ...

詹姆森

git merge

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

使用OpenCV Python在2D图像中出现深度错误

我正在尝试使用OpenCV和Python计算图像中的Canny Edges(ndarray).

slice1 = slices[15,:,:]
slice1 = slice1[40:80,60:100]
print slice1.shape
print slice1.dtype
slicecanny = cv2.Canny(slice1, 1, 100)
Run Code Online (Sandbox Code Playgroud)

输出:

(40, 40)
float64
...
error: /Users/jmerkow/code/opencv-2.4.6.1/modules/imgproc/src/canny.cpp:49: 
error: (-215) src.depth() == CV_8U in function Canny
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我得到了上述错误.有什么想法吗?

python opencv

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

celery.utils.log中的get logger函数与日志记录有什么不同?

我一直试图弄清楚python记录器和芹菜记录器之间的区别,特别是下面命令之间的区别,但找不到一个好的答案.

我正在使用芹菜v3,django 1.10.

from celery.utils.log import get_task_logger
logger = get_logger(__name__)
...
from celery.utils.log import get_task_logger
logger = get_task_logger(__name__)
...
import logging
logger = logging.get_logger(__name__)
Run Code Online (Sandbox Code Playgroud)

芹菜文档(最新版本,v3.1)在这个主题上非常缺乏.我已经看过了诸如类似的问题这一个,但它仍然是它不清楚使用哪个,为什么要使用那一个,然后将区别具体是什么.我正在寻找一个清晰,简洁的答案.

我也在我的生产环境中使用哨兵.这种选择如何影响您的哨兵日志?即这些常见的设置

python django logging celery

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

如何在〜/ .byobu/.tmux.conf中进行更改,而不重新启动byobu

我想在不重新启动它的情况下更改byobu中的默认shell.但是,当我修改〜/ .byobu/.tmux.conf中的行来执行此操作时:

从:

set -g default-shell /usr/bin/fish
set -g default-command /usr/bin/fish
Run Code Online (Sandbox Code Playgroud)

至:

set -g default-shell /usr/bin/zsh
set -g default-command /usr/bin/zsh
Run Code Online (Sandbox Code Playgroud)

新的窗口和会话仍然以鱼提示开始.除了关闭所有的byobu会话之外,我不确定还有什么可以尝试,但这是不可取的,因为进程正在运行,我不想杀死.

如何在byobu中更改我的默认shell,如果不关闭所有的byobu会话/窗口,我可以这样做吗?

linux bash shell byobu

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

如何创建一个django模型字段mixin

我正在尝试为模型字段(而不是表单字段)创建通用mixin,mixin的init采用命名参数.我遇到麻烦用另一个类实例化mixin.

这是代码

class MyMixin(object):
    def __init__(self, new_arg=None, *args, **kwargs):
        super(MyMixin, self).__init__(*args, **kwargs)
        print self.__class__, new_arg


class MyMixinCharField(MyMixin, models.CharField):
    pass

...

class MyMixinModelTest(models.Model):
    myfield = MyMixinCharField(max_length=512,new_arg="myarg")
Run Code Online (Sandbox Code Playgroud)

对此模型进行迁移会产生以下输出:

<class 'myapp.mixintest.fields.MyMixinCharField'> myarg 
<class 'myapp.mixintest.fields.MyMixinCharField'> None 
<class 'myapp.mixintest.fields.MyMixinCharField'> None 
Migrations for 'mixintest':   
   0001_initial.py:
        - Create model MyMixinModelTest
Run Code Online (Sandbox Code Playgroud)

首先,为什么init运行3次?在第二个两个中,kwarg'new_arg'在哪里?如何为django创建字段mixin?

编辑:与另一个问题相反,这个问题询问混合,相关问题是指模型混合.

python django

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

使用共享对象和符号链接构建安装软件包

我正在做一个项目,我们正在开始发行二进制文件。我们正在使用CMake来生成构建文件,并使用CPack来创建二进制文件。我们的二进制文件可以工作,但是我们遇到共享对象的问题。本质上,许多问题是由系统上的符号链接引起的,尤其是对于具有多个链接的共享对象。因此,可以说来自ldd(或otool)的某些可执行文件包括libmpich.so.10的RPATH结果,并且我已经从cmake链接了/usr/lib/x86_64-linux-gnu/libmpich.so,这些文件都像这样关联:

/usr/lib/x86_64-linux-gnu/libmpich.so -> libmpich.so.10
/usr/lib/x86_64-linux-gnu/libmpich.so.10 -> libmpich.so.10.0.4
/usr/lib/x86_64-linux-gnu/libmpich.so.10.0.4
Run Code Online (Sandbox Code Playgroud)

现在,由于某种原因,RPATH使用中间链接(so.10),但libmpich.so上的readlink(或get_filename_component(... REALPATH))返回libmpich.so.10.0.4。因此,如果我以libmpich.so或libmpich.so.10.0.4的名称安装libmpich.so.10.0.4(或创建一个到另一个的符号链接),我仍然会错过RPATH中要求的库。

在处理这些问题和/或使用文件Glob尝试抢占中间链接时,我一直在打w鼠,但我想做一些更强大的事情。有人为此使用好的设计模式吗?

我一直在研究使用诸如GET_PREREQUISITES之类的功能,但是那些功能需要构建对象,因此我需要以某种方式将其添加到安装脚本中……。感觉它们应该是一种更好的方法。

-詹姆森

PS我也很想寻找有关使用cmake或一般情况下构建二进制文件的最佳实践指南。我们正在Windows,Linux和Mac上生成二进制文件。如果您知道一些好的链接,也请发布它们。

linux installation cmake

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

cmake os x failure ar没有特定的归档成员

我有一个简单的cmake项目,我无法在OS X 10.8.4上编译.cmake/make过程在Linux上运行良好但在OS XI上遇到此错误:

Linking CXX static library libImageFilter.a
ar: no archive members specified
...
make[2]: *** [lib/libImageFilter.a] Error 1
make[1]: *** [lib/CMakeFiles/ImageFilter.dir/all] Error 2
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)

我在两个平台上都使用Eclipse CDT4 Generator Unix MakeFile.这似乎与两个系统上的ar之间的差异有关.但是,我在谷歌找不到太多帮助我排除故障.

这里有一些更多的信息

SRC/CMakeList.txt

make_minimum_required(VERSION 2.8)
project(itkNormals)
FIND_PACKAGE (ITK REQUIRED)
IF( ITK_FOUND )
  include( ${ITK_USE_FILE} )
ENDIF( ITK_FOUND )
add_subdirectory(test)
add_subdirectory(lib)
Run Code Online (Sandbox Code Playgroud)

SRC/LIB/CMakeList.txt

add_library(DotImageFilter itkDotImageFilter.h)
SET_TARGET_PROPERTIES(DotImageFilter PROPERTIES LINKER_LANGUAGE CXX)
target_link_libraries(DotImageFilter ${ITK_LIBRARIES})

add_library(ImageFilter itkImageFilter.hxx)
SET_TARGET_PROPERTIES(ImageFilter PROPERTIES LINKER_LANGUAGE CXX)
target_link_libraries(ImageFilter ${ITK_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)

的src /测试/的CMakeLists.txt:

include_directories(${PROJECT_SOURCE_DIR}/lib)

add_executable(itkNormalsMain itkNormals.cxx)
TARGET_LINK_LIBRARIES(itkNormalsMain ${ITK_LIBRARIES})
TARGET_LINK_LIBRARIES(itkNormalsMain ImageFilter) …
Run Code Online (Sandbox Code Playgroud)

c++ macos makefile cmake unix-ar

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

如何使情节图例跨越两列

我正在使用绘图图绘制大量数据的比较。描述每一行的字符串往往会变长,所以我需要将它们设为多行。但是,对于许多情节,图例可能会从屏幕上消失。我想将图例分成两列。有没有办法在情节中做到这一点?看看help(plotly.graph_objs.Legend)没有像 matplotlib 那样的 ncol 或类似的论点,我在 plotly 文档中找不到任何对此的引用。

下面是一些示例代码:

import numpy as np
import matplotlib.cm as cm
py.sign_in("XXX", "XXXX")
N = 10
colors=['rgba(%f,%f,%f,%f)' % tuple(c) for c in cm.rainbow((np.linspace(0,1,N)),bytes=True)]
data = []
lab = 'Long<br>Multiline<br>string<br>describing %s'
for i in range(0,N):
    x = np.linspace(0,np.random.uniform(5,10),10)
    y = np.linspace(1,np.random.uniform(0,1),10)
    label = lab % i
    d = Scatter(
        x=x,y=y,
        mode='lines',
        name=label,text=(label,)*len(x),
        xaxis='x1',yaxis='y1',
        line=Line( color=colors[i]) )
    data.append(d)   
py.iplot(data)
Run Code Online (Sandbox Code Playgroud)

python plot plotly

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

标签 统计

python ×4

cmake ×2

django ×2

linux ×2

bash ×1

byobu ×1

c++ ×1

celery ×1

git ×1

installation ×1

logging ×1

macos ×1

makefile ×1

merge ×1

opencv ×1

plot ×1

plotly ×1

shell ×1

unix-ar ×1