小编H. *_*doh的帖子

如何防止库屏蔽功能

典型情况如下:

library(dplyr)
library(xgboost)
Run Code Online (Sandbox Code Playgroud)

当我导入库xgboost,函数slicedplyr被掩盖的,我不得不写dplyr::slice,即使我从来没有使用xgboost::slice明确.

这个问题的明显的解决方案是导入xgboost之前dplyr.但是导入所有可能影响dplyr事先功能的库是很疯狂的.此外,当我使用caret库时,这个问题经常发生.即train函数自动导入所需的库,并且当时屏蔽了一些函数.

  1. 可以防止某些功能被屏蔽?
  2. 是否可以xgboost::slice使用早期导入的函数(例如dplyr::slice)屏蔽"屏蔽功能" (例如)?

笔记

  • 不是问如何禁用警告信息.
  • 不是问如何使用蒙面函数.

r

12
推荐指数
4
解决办法
2483
查看次数

如何防止anaconda环境读取本地安装的库

Python 尝试读取安装在 下的库~/.local,即使我在 anaconda 环境中工作。

> conda create -n testproj python=3.6
> conda activate testproj
> conda install pandas
> python
>>> import pandas as pd
Run Code Online (Sandbox Code Playgroud)

然后我得到了一个导入错误

ImportError: C extension: /home/myname/.local/lib/python3.6/site-packages/pandas/ ...
Run Code Online (Sandbox Code Playgroud)

但是如果我改变了站点包的权限

> chmod 000 ~/.local/lib/python3.6/site-packages
Run Code Online (Sandbox Code Playgroud)

然后我可以毫无错误地导入pandas。即 Python 正在查看 anaconda 环境之外。

问题:如何防止 Python 读取 anaconda 环境之外的库?

环境:openSUSE Leap 15.0

编辑:我发现sys.path包含site-packages~/.local. 我不认为线条应该在那里。

['',
 '/home/myname/anaconda3/envs/myproj/bin',
 '/home/myname/anaconda3/envs/myproj/lib/python36.zip',
 '/home/myname/anaconda3/envs/myproj/lib/python3.6',
 '/home/myname/anaconda3/envs/myproj/lib/python3.6/lib-dynload',
 '/home/myname/.local/lib/python3.6/site-packages',
 '/home/myname/anaconda3/envs/myproj/lib/python3.6/site-packages',
 '/home/myname/.local/lib/python3.6/site-packages/IPython/extensions',
 '/home/myname/.ipython']
Run Code Online (Sandbox Code Playgroud)

python anaconda

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

Git 要求输入错误 URL 的密码

在 GitHub 创建存储库后,我按照 GitHub 给出的说明进行操作:

$ echo "# test" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin https://github.com/user/test.git
$ git push -u origin master
Run Code Online (Sandbox Code Playgroud)

(在上面的 URL 中,实际用户名被替换为user。)

然后我被问到(由 Ksshaskpass)关于

https://xxxxxxxx@github.com ”的密码:

(不询问用户名。)这xxxxxxxx实际上是我在 GitHub 创建帐户时使用的初始密码。而且我的密码被拒绝了,所以我无法推送数据。

我期待输出类似下面

$ git push -u origin master
Username: <username>
Password: <password>
Run Code Online (Sandbox Code Playgroud)

我删除了~/.gitconfig,但情况没有改变。(尚未询问用户名。) 目录不存在~/.git。所以我怀疑有一个我很久以前创建的错误配置文件,但我找不到它。

你能给我任何关于这种现象的暗示吗?

环境:openSUSE 13.2,git-2.1.4-13.1.x86_64

git github repository

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

Sublime Text 3 中不能插入反斜杠

我在带有德语键盘的 Windows 上使用 Sublime Text 3。反斜杠\已分配给alt gr + ß但此键绑定无法正常工作。(光标上升了几行。)

由于alt gr相当于ctrl+alt在 Windows 上,我在 sublime-keymap 中添加了以下行。

{ "keys": ["ctrl+alt+ß"], "command": "insert", "args": {"characters": "\\"} }
Run Code Online (Sandbox Code Playgroud)

但这也行不通。

可以分配\alt gr+ß吗?

笔记:

  • "keys": ["ctrl+alt+0"](而不是"keys": ["ctrl+alt+ß"])有效。但我想使用“alt gr+ß”作为反斜杠。
  • "keys": ["ctrl+alt+\u00DF"] 不管用。

sublimetext3

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

如何从Text :: CSV utf8输出?

我有一个CSV文件,比如win.csv,其文本在windows-1252中编码.首先我使用iconv在utf8中制作它.

$iconv -o test.csv -f windows-1252 -t utf-8 win.csv
Run Code Online (Sandbox Code Playgroud)

然后我用以下Perl脚本(utfcsv.pl)读取转换后的CSV文件.

#!/usr/bin/perl 
use utf8;
use Text::CSV;
use Encode::Detect::Detector;

my $csv = Text::CSV->new({ binary => 1, sep_char => ';',});
open my $fh, "<encoding(utf8)", "test.csv";

while (my $row = $csv->getline($fh)) { 
  my $line = join " ", @$row;
  my $enc = Encode::Detect::Detector::detect($line);
  print "($enc) $line\n";
}

$csv->eof || $csv->error_diag();
close $fh;
$csv->eol("\r\n");
exit;
Run Code Online (Sandbox Code Playgroud)

然后输出如下.

(UFT-8) .........
() .....
Run Code Online (Sandbox Code Playgroud)

即,所有行的编码都被检测为UTF-8(或ASCII).但实际输出似乎不是UTF-8.实际上,如果我将输出保存在文件中

$./utfcsv.pl > output.txt
Run Code Online (Sandbox Code Playgroud)

然后将output.txt的编码检测为windows-1252.

问题:如何在UFT-8中获取输出文本?

笔记:

  1. 环境:openSUSE 13.2 x86_64,perl 5.20.1
  2. 我不使用Text :: CSV :: …

csv perl encoding utf-8

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

无法访问 Azure 上的 Jupyter

我无法在 Azure 云中的数据科学 VM 上访问 Jupyter Notebook。

我做了什么:

  1. 为 Linux 创建一个数据科学 VM。资源组、NSG 等是新创建的。
  2. 按照命令的说明进行操作dsvm-more-info。那是
    1. 设置c.NotebookApp.password(u'sha1:89this89is89a89fake89')
    2. 重启 jupyter
  3. 访问https://12.34.56.78:9999/(IP地址当然是假的。)

但是我无法与服务器建立任何连接。

  • SSH 工作没有任何问题。
  • NSG 看起来不错:TCP/9999 是允许的(这是默认设置。)
  • 我尝试在 VM 上访问https://localhost:9999/,但未建立连接。
  • http://12.34.56.78:9999/不起作用。(以防万一。)
  • c.NotebookApp.allow_origin = '*' 什么都不改变。
  • 我的订阅是测试版。这是否相关?
  • 在 Jupyter 文档之后,我创建了 mykey.key 和 mycert.pem 并在jupyter_notebook_config.py. 但这无济于事。

azure azure-virtual-machine jupyter-notebook azure-dsvm

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

如何取消Altair下拉框的选择

我的问题是关于Altair(Python的可视化库)的下拉框。

在官方文档的这个例子中,你可以选择汽车的原产地。如果您选择其中一个,则只有选定的实例保持不变(或具有原始颜色),其他实例将呈灰色显示。

我的问题是:如何取消选择?或者是否可以自定义代码,以便下拉框具有取消选择的选项?

python vega-lite altair

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