小编Sam*_*Sam的帖子

setup.py之后的Python ImportError

安装我的python项目setup.py并在终端中执行它后,我得到以下错误:

...
from ui.mainwindow import MainWindow
  File "/usr/local/lib/python2.7/dist-packages/EpiPy-0.1-py2.7.egg/epipy/ui/mainwindow.py", line 9, in <module>
    from model.sir import SIR
ImportError: No module named model.sir
Run Code Online (Sandbox Code Playgroud)

...

我们假设我们的项目有以下结构cookies:

.
??? setup.py
??? src
    ??? a
    ?   ??? aa.py
    ?   ??? __init__.py
    ??? b
    ?   ??? bb.py
    ?   ??? __init__.py
    ??? __init__.py
    ??? main.py
Run Code Online (Sandbox Code Playgroud)

文件: cookies/src/main.py

from a import aa

def main():
    print aa.get_aa()
Run Code Online (Sandbox Code Playgroud)

文件 cookies/src/a/aa.py

from b import bb

def get_aa():
    return bb.get_bb()
Run Code Online (Sandbox Code Playgroud)

文件: cookies/src/b/bb.py

def get_bb():
    return 'bb'
Run Code Online (Sandbox Code Playgroud)

文件: cookies/setup.py …

python pip easy-install python-import

5
推荐指数
0
解决办法
1582
查看次数

基于最小二乘法拟合SIR模型

我想优化 SIR 模型的拟合。如果我只用 60 个数据点拟合 SIR 模型,我会得到一个“好”的结果。“好”意味着,拟合模型曲线接近数据点,直到 t=40。我的问题是,我怎样才能得到更好的拟合,也许基于所有数据点?

ydata = ['1e-06', '1.49920166169172e-06', '2.24595472686361e-06', '3.36377954575331e-06', '5.03793663882291e-06', '7.54533628058909e-06', '1.13006564683911e-05', '1.69249500601052e-05', '2.53483161761933e-05', '3.79636391699325e-05', '5.68567547875179e-05', '8.51509649182741e-05', '0.000127522555808945', '0.000189928392105942', '0.000283447055673738', '0.000423064043409294', '0.000631295993246634', '0.000941024110897193', '0.00140281896645859', '0.00209085569326554', '0.00311449589149717', '0.00463557784224762', '0.00689146863803467', '0.010227347567051', '0.0151380084180746', '0.0223233100045688', '0.0327384810150231', '0.0476330618585758', '0.0685260046667727', '0.0970432959143974', '0.134525888779423', '0.181363340075877', '0.236189247803334', '0.295374180276257', '0.353377036130714', '0.404138746080267', '0.442876028839178', '0.467273954573897', '0.477529937494976', '0.475582401936257', '0.464137179474659', '0.445930281787152', '0.423331710456602', '0.39821360956389', '0.371967226561944', '0.345577884704341', '0.319716449520481', '0.294819942458255', '0.271156813453547', '0.24887641905719', '0.228045466022105', '0.208674420183194', '0.190736203926912', '0.174179448652951', '0.158937806544529', '0.144936441326754', '0.132096533873646', '0.120338367115739', '0.10958340819268', '0.099755679236243', '0.0907826241267504', '0.0825956203546979', '0.0751302384111894', '0.0683263295744258', '0.0621279977639921', '0.0564834809370572', '0.0513449852139111', '0.0466684871328814', '0.042413516167789', '0.0385429293775096', …
Run Code Online (Sandbox Code Playgroud)

python curve-fitting scipy least-squares model-fitting

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

分布式系统中的逻辑顺序和总顺序示例

总订单:

Lamport 时间戳可用于通过使用某种任意机制来打破联系(例如进程的 ID),在分布式系统中创建事件的总排序。

逻辑顺序:

当两个实体通过消息传递进行通信时,发送事件被称为“发生在接收事件之前”,并且可以在事件之间建立逻辑顺序

在此处输入链接描述

谁能给我一个例子,我可以看到逻辑顺序和总顺序的差异?两个订单有什么区别?

computer-science distributed-computing

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

比较c中的哈希值

我想比较和匹配哈希:

#include <stdio.h>
#include <string.h>
#include "sha256.h"

int main()
{
   unsigned char password[]={"abc"}, gen_hash[32];
   SHA256_CTX ctx;

   sha256_init(&ctx);
   sha256_update(&ctx,password,strlen(password));
   sha256_final(&ctx,gen_hash);

   unsigned char orig_hash[] = {"ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"};

   if(strcmp(orig_hash, gen_hash) == 0)
   {
    printf("%s\n", "match");
   }
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

但如果我比较两个哈希值,它们就不一样了.有谁碰巧知道为什么?我认为两个变量都是一样的,但它们不是吗?

c hash sha256

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

无法将'char(*)[1024]'转换为'char*'作为回报

我想逐行读取一个简单的文件,并将内容保存到一个数组中.如果我编译源代码,我会收到此错误:

test.C: In function ‘char* read_file(int, int, const char*)’:
test.C:14:11: error: cannot convert ‘char (*)[1024]’ to ‘char*’ in return
    return words;
           ^
Run Code Online (Sandbox Code Playgroud)

这是什么意思?为什么我不能返回2D数组的指针?这是源代码.

#include <stdio.h>
#include <string.h>

char * read_file(int buf, int size, const char *fname){
   char words[size][buf];
   FILE *fptr = NULL; 
   int idx = 0;

   fptr = fopen(fname, "r");
   while(fgets(words[idx], buf, fptr)) {
      words[idx][strlen(words[idx]) - 1] = '\0';
      idx++;
   }
   return words;
}

int main(void) {
   char * words;
   words = read_file(1024, 100, "text.txt");
   int i;
   for(i = 0; …
Run Code Online (Sandbox Code Playgroud)

c readfile

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

recvfrom:警告:从'ssize_t'转换为'size_t'可能会改变结果的符号

如何修复gcc(Debian 4.9.2-10)4.9.2编译器警告

警告:从'ssize_t'转换为'size_t'可能会改变结果的符号[-Wsign-conversion] recv_len = recvfrom(my_socket,*buf,MESSAGE_MAX_LEN,0,(struct sockaddr*)&remote_addr,&addr_len);

码:

int my_socket;
struct sockaddr_storage remote_addr;
socklen_t addr_len = sizeof(remote_addr);

void
socket_listen(
        int (*callback )(),
        char ** buf)
{
  size_t recv_len;
  ...
  *buf = malloc(MESSAGE_MAX_LEN);
  recv_len = recvfrom(my_socket, *buf, MESSAGE_MAX_LEN, 0, (struct sockaddr *)&remote_addr, &addr_len);
  ...
}
Run Code Online (Sandbox Code Playgroud)

c

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