小编mat*_*ash的帖子

CondaValueError:目标前缀是基本前缀。堕胎

我有以下conda环境文件environment.yml

name: testproject
channels:
- defaults
dependencies:
- python=3.7
prefix: /opt/projects/testproject
Run Code Online (Sandbox Code Playgroud)

在创建环境之前,仅存在基本环境:

(base) me@mymachine:/opt/projects/testproject$ conda env list
# conda environments:
#
base                  *  /opt/anaconda/anaconda3
Run Code Online (Sandbox Code Playgroud)

尝试创建环境时,出现以下错误:

(base) me@mymachine:/opt/projects/testproject$ conda create -f environment.yml

CondaValueError: The target prefix is the base prefix. Aborting.
Run Code Online (Sandbox Code Playgroud)

这个错误是什么意思?

anaconda conda

13
推荐指数
3
解决办法
6292
查看次数

禁用对c ++向量的边界检查

使用stl :: vector:

vector<int> v(1);
v[0]=1; // No bounds checking
v.at(0)=1; // Bounds checking
Run Code Online (Sandbox Code Playgroud)

有没有一种方法来禁用边界检查,而不必重写所有at()[]?我正在使用GNU标准C++库.

编辑:我改变了at()[]在我怀疑的瓶颈区域,并显著减少了计算时间.但是,由于我在开发代码和运行实验之间进行迭代,我想在开发过程中启用边界检查,并在运行实验时禁用它.我想安德鲁的建议是最好的解决方案.

c++ g++ libstdc++

11
推荐指数
4
解决办法
4062
查看次数

Knitr:从代码块打印文本为R markdown

我有以下R Markdown文档:

---
title: "Test"
output: html_document
---

```{r cars, echo=FALSE}
myCondition <- TRUE
if(myCondition) {
  print("## Car Summary")
}
summary(cars)
```
Run Code Online (Sandbox Code Playgroud)

当我将其编织为HTML时,"Car Summary"标题以"类似终端"的等宽字体呈现,如下所示:

## [1] "## Car Summary"
Run Code Online (Sandbox Code Playgroud)

但我希望它呈现为标题.我该如何实现这一目标?

r knitr r-markdown

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

使用 mvnDebug 进行远程调试,不会在断点处停止

/sf/answers/1039757841/的启发,我尝试使用 mvnDebug 和 IntelliJ 远程调试 Maven 项目。但是,执行不会在我的断点处停止。重现一个简单的 Hello World 示例:

在本地机器上:

git clone https://github.com/LableOrg/java-maven-junit-helloworld.git
cd java-maven-junit-helloworld
mvnDebug test
Run Code Online (Sandbox Code Playgroud)

在远程机器上:

  1. 打开IntelliJ
  2. 从 Version Control->Git 中查看,设置 URL:https://github.com/LableOrg/java-maven-junit-helloworld.git,克隆
  3. 打开项目
  4. 打开 Hello.java,在显示的行处设置断点printer.println(HELLO);

  5. 运行->调试...->编辑配置...,添加新配置->远程

  6. 设置调试器模式:附加、传输:套接字、主机:、端口:8000
  7. 应用、调试

现在,测试将运行而不会在断点处停止。为什么?

debugging maven

6
推荐指数
2
解决办法
3979
查看次数

SharePoint内部部署2013 REST身份验证

我计划在一台Linux服务器上编写一个用Java编码的工作,该服务器计划每天使用REST API将文件上传到SharePoint本地2013.如何验证此客户端作业?我用谷歌搜索,但我仍在努力清楚地了解我的选择.

authentication rest sharepoint restful-authentication sharepoint-2013

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

调试 Jupyter Notebook:单步执行单元格

在空白的 Jupyter 笔记本中,我在单元格中输入以下代码:

from IPython.core.debugger import set_trace
set_trace()
print("hello")
Run Code Online (Sandbox Code Playgroud)

运行单元后,我进入调试模式(第一个屏幕截图)。我想跳到下一行,因此我使用命令 n(ext),就像在 pdb 中一样。但随后我并没有像我预期的那样执行打印命令,而是执行一些内部 IPython 代码(第二个屏幕截图)。如何转到单元格代码中的下一行?

在此输入图像描述

编辑:根据一个答案的建议,我用 替换set_trace()breakpoint()但结果仍然相同。

python python-3.x ipdb jupyter-notebook

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

使用 nogil 在 Cython 中处理列表列表

在 Python 中,我有一个列表列表作为输入:

input = [[0,1,2],[0,3,4,5],[0,6]]
Run Code Online (Sandbox Code Playgroud)

实际上,子列表的数量有数万个。每个子列表的长度可能相差很大,从零或一个值到数百个值。

我想将输入数据作为某种 2D 结构传递给将处理它的 Cython 模块。我希望在多个核心上处理数据,因此我使用prangewith nogil=True

from cython.parallel import prange

cpdef int my_func(long[:,:] arr):
    cdef int i,j
    for i in prange(arr.shape[0], nogil=True):
        for j in range(arr.shape[1]):
                    # Do something
            pass
    return 42
Run Code Online (Sandbox Code Playgroud)

我看到以下解决方案:

  1. 将列表的列表放入 2D ndarray 中。但由于每个子列表的长度相差很大,ndarray并不是一个理想的数据结构
  2. 修改my_func以接受列表的列表。问题是部分代码是在没有 GIL 的情况下执行的,因此无法访问 python 对象。

有没有人对如何解决这个问题有建议,最好有代码?

python multiprocessing cython gil

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

gdb日志文件格式

当我set logging on在gdb中使用时,日志文件的输出格式与我在终端屏幕上看到的格式不同.日志文件不是很易读.如何以可读格式获取日志文件?

输出到屏幕很好:

(gdb) p foo
$1 = {
  static npos = 18446744073709551615,
  _M_dataplus = {
    <std::allocator<char>> = {
      <__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
    members of std::basic_string<char,std::char_traits<char>,std::allocator<char> >::_Alloc_hider:
    _M_p = 0x601028 "Hello World!\n"
  }
}
Run Code Online (Sandbox Code Playgroud)

输出到日志文件的可读性不高:

^Z^Zpost-prompt

^Z^Zbreakpoints-headers

^Z^Zfield 0
Num     
^Z^Zfield 1
Type           
^Z^Zfield 2
Disp 
^Z^Zfield 3
Enb 
^Z^Zfield 4
Address            
^Z^Zfield 5
What

^Z^Zbreakpoints-table

^Z^Zrecord

^Z^Zfield 0
1       
^Z^Zfield 1
breakpoint     
^Z^Zfield 2
keep 
^Z^Zfield 3
y   
^Z^Zfield 4
0x0000000000400961 
^Z^Zfield …
Run Code Online (Sandbox Code Playgroud)

gdb cgdb

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

在R中,合并并使用矢量名称作为列名

在RI合并两个向量a和b:

a <- c(100,250)
b <- c(0,100,200)
foo <- merge(a,b,all=TRUE)
Run Code Online (Sandbox Code Playgroud)

当我检查foo时,我看到merge函数命名了两列x和y:

> foo
    x   y
1 100   0
2 250   0
3 100 100
4 250 100
5 100 200
6 250 200
Run Code Online (Sandbox Code Playgroud)

是否有一种优雅的方法可以将原始变量名称保留为结果数据框中的列名?"优雅"我指的是比明确重命名列更简单的东西.

r vector

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

一种将“ survfit”对象的某些元素提取到数据框中的简洁方法

我从survival库中加载数据集,并生成一个survfit对象:

library(survival)
data(lung)
lung$SurvObj <- with(lung, Surv(time, status == 2))
fit <- survfit(SurvObj ~ 1, data = lung, conf.type = "log-log")
Run Code Online (Sandbox Code Playgroud)

该对象是一个列表:

> str(fit)
List of 13
 $ n        : int 228
 $ time     : int [1:186] 5 11 12 13 15 26 30 31 53 54 ...
 $ n.risk   : num [1:186] 228 227 224 223 221 220 219 218 217 215 ...
 $ n.event  : num [1:186] 1 3 1 2 1 1 1 …
Run Code Online (Sandbox Code Playgroud)

r list dataframe

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

将边锁定到 mxGraph 中的顶点

给定 javascript Hello World 示例 ( mxgraph/javascript/examples/helloworld.html):如果您单击并拖动边,它将移动,以便不再连接到顶点。我想修改helloworld.html,以便边缘无法与顶点解耦。我怎样才能做到这一点?

mxgraph

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

使用 xmlstarlet/xpath 获取所有子名称

使用xmlstarlet/xpath,如何获取某个节点的所有子元素的名称?比如我想获取所有的子元素名称/a

<a>
    <b><c/></b>
    <d/>
</a>
Run Code Online (Sandbox Code Playgroud)

应该返回:

b
d
Run Code Online (Sandbox Code Playgroud)

我试过

xmlstarlet sel -t -c 'name(/a/*)' -
Run Code Online (Sandbox Code Playgroud)

但这只给了我b

xml xpath xmlstarlet

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