小编Ste*_*fan的帖子

在 conda yml 文件中使用 pip 要求文件会引发 AttributeError: 'FileNotFoundError'

我有一个requirements.txt喜欢

numpy
Run Code Online (Sandbox Code Playgroud)

和一个environment.yml包含

numpy
Run Code Online (Sandbox Code Playgroud)

当我然后跑conda env create --file environment.yml我得到

Pip子进程输出:

Pip 子进程错误:错误:异常:

<... pip 中的错误回溯 >

AttributeError: 'FileNotFoundError' 对象没有属性 'read'

失败的

CondaEnvException:Pip 失败

pip 的调用方式也很奇怪,正如在错误发生之前报告的那样:

['$HOME/.conda/envs/test/bin/python', '-m', 'pip', 'install', '-U', '-r', '$HOME/test/condaenv.8d3003nm.requirements.txt']
Run Code Online (Sandbox Code Playgroud)

(我用 替换了我的主路径$HOME)注意requirements.txt.

有任何想法吗?

python pip conda

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

Matplotlib,图例符号之间的垂直空间

我在自定义我的情节图例时遇到问题。我做了很多定制,但无法理解这一点。我希望符号(不是标签)在图例中等距。正如您在示例中看到的,图例中圆圈之间的空间随着圆圈变大而变小。有任何想法吗?此外,我如何还添加一个颜色条(除了大小),较小的圆圈为浅红色(例如),较大的圆圈为蓝色(例如)这是我目前的代码:

import pandas as pd
import matplotlib.pyplot as plt
from vega_datasets import data as vega_data
gap = pd.read_json(vega_data.gapminder.url)

df = gap.loc[gap['year'] == 2000]

fig, ax = plt.subplots(1, 1,figsize=[14,12])
ax=ax.scatter(df['life_expect'], df['fertility'], 
            s = df['pop']/100000,alpha=0.7, edgecolor="black",cmap="viridis")

plt.xlabel("X")
plt.ylabel("Y");
kw = dict(prop="sizes", num=6, color="lightgrey", markeredgecolor='black',markeredgewidth=2)
plt.legend(*ax.legend_elements(**kw),bbox_to_anchor=(1, 0),frameon=False,
                    loc="lower left",markerscale=1,ncol=1,borderpad=2,labelspacing=4,handletextpad=2)

plt.grid()
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

python matplotlib legend pandas

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

预身份验证失败:获取初始凭据时密码读取中断

这是我遇到的事情,我找到了解决方案。由于没有任何问题,我将其作为问题发布,并将我的解决方案作为答案。

环境:

  • 操作系统:Centos Linux、MacOS (Big Sur)
  • 集群:Cloudera Hadoop 发行版,
  • 工具:Kerberos

问题

我通过“ktutil”创建了“user.keytab”文件来更新没有密码的 krb 票证,正如这里推荐的那样https://kb.iu.edu/d/aumh

ktutil:  addent -password -p user@DOMAIN.LOCAL -k 1 -e rc4-hmac
Password for user@DOMAIN.LOCAL: [enter your password]
ktutil:  addent -password -p user@DOMAIN.LOCAL -k 1 -e aes256-cts
Password for user@DOMAIN.LOCAL: [enter your password]
ktutil:  wkt user.keytab
ktutil:  quit
Run Code Online (Sandbox Code Playgroud)

然后测试以异常告终

(user@server [~])$ kinit user@DOMAIN.LOCAL -k -t user.keytab
kinit: Preauthentication failed while getting initial credentials
Run Code Online (Sandbox Code Playgroud)

linux hadoop kerberos keytab

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

Atom 编辑器:列出并跳转到项目中的定义

正如已经提到的,我正在使用 Atom 文本编辑器。
我目前正在开发一个用 C++ 编写的项目。当然,最好跳转到函数的定义(在另一个项目文件中),或该函数的其他用途(在项目内)。据我所知,这可以通过下面提到的软件包来实现。我希望包向我显示定义以及保存定义的相应文件的路径,最好是它出现的行。

我欢迎任何有关如何解决我在(其中一个)软件包中遇到的以下问题的意见和建议。此外,我也很感谢有关我的问题的可能解决方案或帖子的指针,或者我如何使用另一个包来实现这一点。

这是我迄今为止发现/尝试/所做的。

goto

目前我正在使用这个包,虽然它相当慢并且没有像eg那样显示函数的参数atom-ctags,但它是唯一显示我需要查看的文件的包。它向我展示了函数的定义位置以及使用位置。但是它没有显示它引用的文件对应文件的路径。

atom-ctags

我也尝试了这个包,构建标签非常快,而且它向我显示了文件的路径。但这个包只列出了.cc文件,并没有.h列出文件。在我看来,它似乎只向我展示了其他用途,但没有向我展示定义,这显然是一个问题。
我还尝试自己生成 ctags 并更改包设置中的命令选项,不幸的是没有成功。

内置原子symbols-view

为了使其发挥作用,需要生成符号。例如,这可以通过symbol-gen封装来实现。但是,它向我显示了一些定义,但也没有.h文件。此外,跳转到定义会产生 a Selected file does not exist.,因此它根本不可用。

goto-definition

为了完整起见,还有这个包。它对我不起作用,因为不支持 c++,但也许其他人会发现它有用。

symbols-plus

再次强调,为了完整起见,这应该是内置原子的替代品,但是当禁用内置功能时,它不会向我显示任何跳转功能,也不会提到快捷方式。

symbols goto go-to-definition exuberant-ctags atom-editor

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

将错误栏添加到图例的 Line2D 元素中的标记

我想通过以下方式生成一个单独的图例(例如,对于共享相似元素的几个子图)

import matplotlib as mpl
import matplotlib.pyplot as plt

plt.legend(handles=[
                mpl.lines.Line2D([0], [0],linestyle='-' ,marker='.',markersize=10,label='example')
            ]
           ,loc='upper left'
           ,bbox_to_anchor=(1, 1)
          )
Run Code Online (Sandbox Code Playgroud)

但我不知道如何添加误差线。那么,如何生成带有标记和误差线的独立图例?

为清楚起见,图例应如下例所示,即带有标记 + 错误栏的线条。

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,5,5)
y=x

yerr=np.random.rand(5,1)*5e-1
fig,ax=plt.subplots(nrows=1,ncols=1)
ax.errorbar(x=x,y=y,yerr=yerr,marker='.',ms=10,label='example')

ax.legend(loc='upper left'
          ,bbox_to_anchor=(1, 1)
         )
Run Code Online (Sandbox Code Playgroud)

编辑: 一种可能的解决方法是从对象中提取标签和句柄ax,即通过

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,5,5)
y=x

yerr=np.random.rand(5,1)*5e-1
fig,ax=plt.subplots(nrows=1,ncols=1, constrained_layout=True)
ax.errorbar(x=x,y=y,yerr=yerr,marker='.',ms=10,label='example',legend=None)

handles,labels=ax.get_legend_handles_labels()
fig.legend(handles=handles,labels=labels
           ,loc='upper right'
          )
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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