我对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 ...
詹姆森
我正在尝试使用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记录器和芹菜记录器之间的区别,特别是下面命令之间的区别,但找不到一个好的答案.
我正在使用芹菜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)在这个主题上非常缺乏.我已经看过了诸如类似的问题这一个,但它仍然是它不清楚使用哪个,为什么要使用那一个,然后将区别具体是什么.我正在寻找一个清晰,简洁的答案.
我也在我的生产环境中使用哨兵.这种选择如何影响您的哨兵日志?即这些常见的设置
我想在不重新启动它的情况下更改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会话/窗口,我可以这样做吗?
我正在尝试为模型字段(而不是表单字段)创建通用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?
编辑:与另一个问题相反,这个问题询问场混合,相关问题是指模型混合.
我正在做一个项目,我们正在开始发行二进制文件。我们正在使用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上生成二进制文件。如果您知道一些好的链接,也请发布它们。
我有一个简单的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) 我正在使用绘图图绘制大量数据的比较。描述每一行的字符串往往会变长,所以我需要将它们设为多行。但是,对于许多情节,图例可能会从屏幕上消失。我想将图例分成两列。有没有办法在情节中做到这一点?看看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)