小编use*_*267的帖子

使用本地pip安装导出conda环境

我已导出当前活动的环境

conda env export > environment.yml
Run Code Online (Sandbox Code Playgroud)

这非常方便,因为它跟踪conda和pip安装的包.但是,我有一些软件包(例如,整体和底图)由来自Christoph Gohlke的Windows编译软件包的.whl文件中的pip本地安装.当我尝试通过重建我的环境时

conda env create -f environment.yml
Run Code Online (Sandbox Code Playgroud)

pip返回错误,因为它无法在索引中找到这些包(显然).有没有办法在conda导出步骤中告诉pip在哪里查找这些本地包?可以假定.whl文件与environment.yml文件位于同一目录中.

python windows development-environment pip conda

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

烧瓶管理员记住表格值

在我的应用程序中,我将“用户”和“帖子”作为模型。每个帖子都有一个用户名外键。当我在帖子模型的顶部创建ModelView时,可以在管理界面中以特定用户的身份创建帖子,如以下屏幕截图所示

在此处输入图片说明

添加帖子并单击“保存并添加另一个”后,“用户”将恢复为“ user1”。如何使表单记住先前的值“ user2”?

我的研究使我相信可以通过修改on_model_change和on_form_prefill并在flask会话中保存先前的值来完成,但这似乎过度设计了这么简单的任务。必须有一个更简单的方法。

我的代码可以在下面看到

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import flask_admin
from flask_admin.contrib import sqla

app = Flask(__name__)

db = SQLAlchemy()

admin = flask_admin.Admin(name='Test')


class Users(db.Model):
    """
    Contains users of the database
    """
    user_id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(64), index=True, unique=True, nullable=False)

    def __str__(self):
        return self.username


class Posts(db.Model):
    """
    Contains users of the database
    """
    post_id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(11), db.ForeignKey(Users.username), nullable=False)
    post = db.Column(db.String(256))
    user = db.relation(Users, backref='user')


def build_sample_db():
    db.drop_all() …
Run Code Online (Sandbox Code Playgroud)

python flask flask-admin

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

SQL自连接成对

假设我有一个由像这样的条目组成的表

ID    Arrival Date    Arrival City    Departure Date    Departure City
1     Jun 27 2015     Berlin          Jun 20 2015       Paris
1     Jul 1 2015      Rome            Jun 29 2015       Berlin
1     Jul 30 2015     Vienna          Jul 15 2015       Rome
2     Jun 28 2015     Prague          Jun 23 2015       Vienna
2     Jul 1 2015      Rome            Jun 29 2015       Prague
2     Jul 30 2015     Vienna          Jul 15 2015       Moscow
...
Run Code Online (Sandbox Code Playgroud)

并且对于每个ID,我想将这些数据连接到自身,以便随后的观察Departure DateArrival Date成对分组 - 即离开与每个ID的先前到达配对.

在上面的例子中(为了方便起见,观察结果被排序),第2行将被附加到第1行,第3行到第2行,第5行到第4行以及第6行到第5行(因此产生4行字段ID Arrival Date Arrival City …

sql t-sql sql-server join self-join

8
推荐指数
2
解决办法
556
查看次数

C编译器和循环优化

我对编译器实际优化的方式没有很多经验,不同级别之间有什么区别(例如-O2与-cc3对于gcc).因此,我不确定以下两个语句对于任意编译器是否相同:

for(i=0;i<10;++i){
variable1*variable2*gridpoint[i];
}
Run Code Online (Sandbox Code Playgroud)

variable3=variable1*variable2;
for(i=0;i<10;++i){
variable3*gridpoint[i];
}
Run Code Online (Sandbox Code Playgroud)

从处理时间的角度来看,只计算variable1和variable2的乘积,因为它们在循环中不会改变,这是有意义的.然而,这需要额外的内存,而且我不确定优化器对此开销的影响有多大.如果您从纸张/书籍中获得等式并希望将其转换为计算机可读的内容,则第一个表达式是最容易阅读的.但第二个可能是最快的 - 特别是对于在循环内有很多未变量的更复杂的方程式(我有一些非常令人讨厌的非线性微分方程,我希望在代码中是人类可读的).如果我将变量声明为常量,是否有任何变化?我希望我的问题对任意编译器都有意义,因为我同时使用gcc,Intel和Portland编译器.

c optimization

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

std :: vector和多维数组的连续内存

我知道标准不强制std::vector分配连续的内存块,但所有实现都遵循这一点.

假设我希望创建一个多维静态数组的向量.为简单起见考虑2个维度,并考虑长度为N的向量.也就是说,我希望创建一个具有N个元素的向量int[5].

我可以确定所有N*5整数现在在内存中是连续的吗?所以我原则上可以通过知道第一个元素的地址来访问所有整数?这个实现依赖吗?

作为参考,我当前在连续内存块中创建2D数组的方法是首先创建一个长度为N的浮动*(动态)数组,在一个数组中分配所有N*5个浮点数,然后将每个第5个元素的地址复制到第一个数组float*.

c++ standards memory-management vector contiguous

5
推荐指数
4
解决办法
6376
查看次数

全局变量和MPI

我知道全局变量很糟糕,应该尽可能避免.但是,例如,在使用MPI编写并行程序时,某些变量只会初始化一次,并且永远不会更改(此任务的编号,任务总数等).将这些变量视为全局变量仍被视为不良做法吗?由于您几乎总是需要访问这些变量,因此在main中为它们创建一个类似乎很愚蠢,并将指针传递给程序中99%的所有函数.到目前为止,我的方法是将它们隐藏在命名空间mpi_glob中(对于C++的情况,我想我不会费心将它们放在C中的结构中来模拟命名空间).我想这个问题也适用于其他只设置一次的变量,例如单位系统等.

c c++ global-variables mpi

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

在C++应用程序中使用C MPI语法

我正在开发一个C++ MPI应用程序.我有一些现有的代码是一个C MPI应用程序,它部分地做我想要的,所以我应该能够复制一些代码(或者用更简洁的C++方式重写它)到我的新程序中.由于不推荐使用MPI的C++接口(并且很难找到文档),我正在认真考虑在我的C++应用程序中使用C接口到MPI.将C MPI接口与C++ MPI应用程序混合起来是一个上帝的想法,还是我真的需要学习使用Boost?

c c++ mpi

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