我在我的OSX机器和/或我的ubuntu 14.04机器上运行ipython笔记本.我正在使用ipython 3.0.0和ipython(jupyter)笔记本.
当我启动ipython笔记本时,在New下有一个终端选项,但它对我来说不可用.我无法找到有关此功能的任何文档,如何激活它或它的功能.该ipython notebook --help命令没有提及它,我也没有在文档中找到任何内容.我还没有发现搜索谷歌获取任何信息的特殊关键字.
这个功能有什么作用?我该如何激活它?有没有关于此的文件?

在ubunty 1404机器上,docker-proxy正在使用端口6379,但是没有运行docker容器.
$ sudo netstat -tulpn | grep docker
tcp6 0 0 :::6379 :::* LISTEN 28438/docker-proxy
tcp6 0 0 :::2376 :::* LISTEN 28266/dockerd
$ docker ps -all
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$
Run Code Online (Sandbox Code Playgroud)
停止docker服务后,此过程消失,并且该端口可用,但是当我启动docker备份时,即使没有docker容器正在运行,docker-proxy仍然使用该端口.
$ docker info
## Output:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 1.12.0
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Backing Filesystem: extfs
Dirs: 0
Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge …Run Code Online (Sandbox Code Playgroud) 我正在尝试从 Celery 中检索所有当前pending和active任务。
active,scheduled并且reserved很容易获得:
i = celery_app.control.inspect()
tasks=list()
for k in i.active():
tasks += i.active()[k]
for k in i.reserved():
tasks += i.reserved()[k]
for k in i.scheduled():
tasks += i.scheduled()[k]
Run Code Online (Sandbox Code Playgroud)
但是,这不包括尚未完成scheduled或reserved尚未完成的任务。以下代码检索这些任务,但显然仅适用于 Redis,假设是 JSON 序列化,并且由于各种原因并不理想。
r = redis.StrictRedis(
host='localhost',
port='6379',
)
tasks = [json.loads(pending_task)['headers'] for pending_task in r.lrange('celery', 0, -1)]
Run Code Online (Sandbox Code Playgroud)
有没有办法以pending类似于inspect.active()易于访问的形式检索这些任务args, kwargs, id(最好通过 Celery,所以我不需要指定 Celery 后端和序列化等)?
编辑(对冲我的赌注)
据我所知,这并不简单,i.pending()芹菜中也没有。所以,我有一些子问题可以让我自己写这个。
我有一个django模型,我分为多个模型(django 1.9)该应用程序或多或少是一个跟踪项目和项目集的系统,通常与文件相关联.(这些文件不会上传,也不会被用户添加,这就是我不使用文件字段的原因)
以下是其中一个项目的玩具示例,其中还包含相关文件:
class ItemTypeA(models.Model):
field1 = models.CharField(max_length=512)
...
base_dir = models.CharField(max_length=512)
rel_fname = models.CharField(max_length=512)
Run Code Online (Sandbox Code Playgroud)
在该模型中,我可以过滤field1然后获取相应的文件,(真实模型有许多字段,并且与未列出的其他模型有关系).还有更多类型的物品.
我想移动文件详细说明另一个具有onetoone关系的模型.
这可能如下所示:
class Filesystem(models.Model):
dirpath = models.CharField(max_length=512)
... #Some other details for accessing the system, and system availablity.
class BaseFile(models.Model):
filesystem = models.ForeignKey(Filesystem,related_name="system")
filepath = models.CharField(max_length=512)
md5 = models.CharField(max_length=16, editable=False)
md5_check_datetime = models.DateTimeField()
size = models.IntegerField(verbose_name="file_size")
class Meta:
abstract = True
class ItemTypeAFile(BaseFile):
pass
class ItemTypeA(models.Model):
field1 = models.CharField(max_length=512)
file = models.OneToOneField(ItemTypeAFile)
Run Code Online (Sandbox Code Playgroud)
我想为此创建一个迁移,以便为每个唯一创建文件系统,并创建base_dir==>dirpath一个新的ItemTypeAFile对象OldItemTypeA.rel_fname==>ItemTypeAFile.filepath.
我甚至不知道从哪里开始.
我正在尝试使用PIL保存带有负值的图像,但是,保存后,图像文件的所有负值都被裁剪为0。
from PIL import Image
import numpy as np
# generate random image for demo
img_arr = np.random.random_integers(-1000,1000, size=[10,10]).astype(np.int32)
print "original min {}, max: {}".format(img_arr.min(),img_arr.max())
# create PIL image
img1 = Image.fromarray(img_arr)
print "PIL min {}, max: {}".format(np.array(img1.getdata()).min(),np.array(img1.getdata()).max())
# save image
img1.save("test_file.png", "PNG")
# reload image
img_file = Image.open("test_file.png")
print "img_file min {}, max: {}".format(np.array(img_file.getdata()).min(),np.array(img_file.getdata()).max())
Run Code Online (Sandbox Code Playgroud)
结果为输出:
original min -983, max: 965
PIL min -983, max: 965
img_file min 0, max: 965
Run Code Online (Sandbox Code Playgroud)
如何保存该图像并保持负值?