小编Aus*_*son的帖子

从Windows SSH到EC2 linux实例

我正在建立一个"云上的数据分析"课程,大多数学生可能会使用Windows.

学生必须设置EC2 Ubuntu实例并连接到它们.

为Windows XP-7设置SSH的最简单方法是什么?

我尝试过PuTTY但是如果我在文本编辑器中手动添加换行符,Puttygen只能将公钥转换为putty格式.这对于80级的人来说太过牵扯.

我已经尝试过OpenSSH,但我似乎无法找到公钥文件的正确权限.在Mac OS/Linux上它只是chmod 600.

是否有一个不错的SSH客户端支持亚马逊的密钥格式,我可以轻松设置?

windows ssh amazon-ec2

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

twisted:一个客户端,多个服务器

我正在尝试使用twisted来创建一个计算机集群,在一个更大的数据集上运行一个程序.

我的"服务器"从客户端接收一大块数据并在其上运行命令x.

我的"客户端"连接到多个服务器,为每个服务器提供一大块数据,并告诉他们运行命令x的参数.

我的问题是:有没有办法设置reactor循环连接到许多服务器:

reactor.connectTCP('localhost', PORT, BlastFactory())
reactor.run()
Run Code Online (Sandbox Code Playgroud)

或者我必须在我的范例中交换客户端和服务器?

python twisted

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

以编程方式逐个像素地生成视频

我想以编程方式逐像素生成动画.最好是Hi-Def,Python或Ruby.我想过使用PIL制作每个帧然后将帧转换成视频.有一个更好的方法吗?

编辑:澄清,这是2D,我需要像素精确.

EDITEDIT:

像这样的东西:

frame = Frame()
frame.draw(0, 0, 'red')
frame.draw(0, 1, 'blue')
...
frame = Frame()
...
Run Code Online (Sandbox Code Playgroud)

会很棒的.

ruby python video animation

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

Setuptools不传递entry_points的参数

我正在使用setuptools来编写我编写的Python脚本

安装后,我做:

$ megazord -i input -d database -v xx-xx -w yy-yy
Run Code Online (Sandbox Code Playgroud)

就像我运行它一样./like_this

但是,我得到:

Traceback (most recent call last):
  File "/usr/local/bin/megazord", line 9, in <module>
    load_entry_point('megazord==1.0.0', 'console_scripts', 'megazord')()
TypeError: main() takes exactly 1 argument (0 given)
Run Code Online (Sandbox Code Playgroud)

看起来像setuptools不会将我的参数发送到要解析的main()(通过optparse)

这是我对entry_points的setuptools配置:

entry_points = {
    'console_scripts': [ 
        'megazord = megazord.megazord:main',
        'megazord-benchmark = megazord.benchmark:main',
        'megazord-hash = megazord.mzhash:main',
        'megazord-mutate = megazord.mutator:main',
        ]
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python distutils setuptools

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

使用Python下载,提取和读取gzip文件

我想在Python中下载,提取和迭代文本文件,而不必创建临时文件.

基本上,这个管道,但在python中

curl ftp://ftp.theseed.org/genomes/SEED/SEED.fasta.gz | gunzip | processing step
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

def main():
    import urllib
    import gzip

    # Download SEED database
    print 'Downloading SEED Database'
    handle = urllib.urlopen('ftp://ftp.theseed.org/genomes/SEED/SEED.fasta.gz')


    with open('SEED.fasta.gz', 'wb') as out:
        while True:
            data = handle.read(1024)
            if len(data) == 0: break
            out.write(data)

    # Extract SEED database
    handle = gzip.open('SEED.fasta.gz')
    with open('SEED.fasta', 'w') as out:
        for line in handle:
            out.write(line)

    # Filter SEED database
    pass
Run Code Online (Sandbox Code Playgroud)

我不想使用process.Popen()或任何东西,因为我希望这个脚本与平台无关.

问题是Gzip库只接受文件名作为参数而不是句柄."管道"的原因是下载步骤仅占用了大约5%的CPU,并且同时运行提取和处理会更快.


编辑:这不起作用,因为

"由于gzip压缩的工作方式,GzipFile需要保存其位置并在压缩文件中向前和向后移动.当"文件"是来自远程服务器的字节流时,这不起作用;所有你能做的与它一起检索一个字节,而不是在数据流中来回移动." - 潜入python

这就是我收到错误的原因

AttributeError: addinfourl instance has no attribute 'tell' …
Run Code Online (Sandbox Code Playgroud)

python

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

Rails Chartkick Gem错误加载图表找不到适配器

我有一个Rails 3.2.14应用程序,我正在使用chartkickgroupdategem来尝试生成一些基本的图表.

当我加载我的视图时,我收到错误: Error Loading Chart: No adapter found

这是我的视图代码的样子:

index.html.erb

<%= line_chart Call.group_by_week(:created_at).count %>

这是我的应用程序布局,包括chartkick和让步chart_js application.html.erb(布局)

 <%= javascript_include_tag "application", "chartkick" %>
 <%= yield :charts_js %>
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么我得到这个错误以及如何解决它?我真的很想开始使用Chartkick生成一些简单的图表.

ruby-on-rails chartkick

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

运行BLAST(bl2seq)而不创建序列文件

我有一个执行BLAST查询的脚本(bl2seq)

该脚本的工作方式如下:

  1. 获取序列a,序列b
  2. 将序列a写入filea
  3. 将序列b写入fileb
  4. 运行命令'bl2seq -i filea -j fileb -n blastn'
  5. 从STDOUT获取输出,解析
  6. 重复2000万次

程序bl2seq不支持管道.有没有办法做到这一点,避免写入/读取硬盘?

我正在使用Python BTW.

python unix shell perl bioinformatics

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

python 使用 __getitem__ 作为方法

是否可以在方法中使用getitem,即

Class MyClass:
    @property
    def function(self):
        def __getitem__():
            ...
Run Code Online (Sandbox Code Playgroud)

所以我可以做

A = MyClass()
A.function[5]
A.function[-1]
Run Code Online (Sandbox Code Playgroud)

python

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

python int没有__iadd __()方法?

我知道这是不好的做法:

>>> a = 5
>>> a.__radd__(5)
10
>>> a
5
>>> a.__iadd__(5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'int' object has no attribute '__iadd__'
Run Code Online (Sandbox Code Playgroud)

出于好奇,如果一个int对象没有__iadd__,那怎么+=工作?

python integer immutability

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

使用`dplyr`保存残差

我想使用dplyr对data.frame进行分组,拟合线性回归并将残差保存为原始未分组data.frame中的列.

这是一个例子

> iris %>%
   select(Sepal.Length, Sepal.Width) %>%
   group_by(Species) %>%
   do(mod = lm(Sepal.Length ~ Sepal.Width, data=.)) %>%
Run Code Online (Sandbox Code Playgroud)

返回:

     Species     mod
1     setosa <S3:lm>
2 versicolor <S3:lm>
3  virginica <S3:lm>
Run Code Online (Sandbox Code Playgroud)

相反,我希望原始的data.frame包含一个包含残差的新列.

例如,

    Sepal.Length Sepal.Width  resid
1   5.1         3.5  0.04428474
2   4.9         3.0  0.18952960
3   4.7         3.2 -0.14856834
4   4.6         3.1 -0.17951937
5   5.0         3.6 -0.12476423
6   5.4         3.9  0.06808885
Run Code Online (Sandbox Code Playgroud)

r dplyr

4
推荐指数
2
解决办法
1467
查看次数