小编use*_*629的帖子

pyinstaller ModuleNotFoundError:没有名为“paddle”的模块

我正在使用 pyinstaller 在 Windows 上创建 exe 文件。我创建了基于 anaconda 的虚拟环境“py38”,在其中安装了所有软件包。我正在尝试转换 tkinter 文件,即“gui.py”。当我使用正常运行时

python gui.py
Run Code Online (Sandbox Code Playgroud)

命令,它工作得很好。但是使用 pyinstaller 似乎找不到我使用以下两个命令安装的模块“paddle”。

python -m pip download paddlepaddle==2.1.2 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/noavx/stable.html --no-index --no-deps
python -m pip install [name].whl
Run Code Online (Sandbox Code Playgroud)

我一直在使用python 3.8。我已经使用了几乎所有可以在网上找到的解决此问题的解决方案。

我尝试过的命令来修复它

pyinstaller --paths 'C:\\Users\\user\\anaconda3\\envs\\py38\\lib\\site-packages' --onefile --clean gui.py
pyinstaller --paths 'C:\\Users\\user\\anaconda3\\envs\\py38\\lib\\site-packages' --onedir gui.py
pyinstaller --hidden-import 'paddle' --onefile --clean gui.py
pyinstaller --hidden-import 'paddlepaddle' --onefile --clean gui.py
pyinstaller --hidden-import 'paddlepaddle' --onedir --clean gui.py

Run Code Online (Sandbox Code Playgroud)

当我使用时--onedir,生成的exe文件也会在启动后立即关闭。当我运行指定“--paths”的 pyinstaller 时,完整日志如下所示

>pyinstaller --paths 'C:\\Users\\user\\anaconda3\\envs\\py38\\lib\\site-packages' --onefile --clean gui.py
586 INFO: PyInstaller: 4.5.1
587 INFO: Python: …
Run Code Online (Sandbox Code Playgroud)

python tkinter pyinstaller paddle-paddle

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

在 bash 脚本中使用 bc

我正在尝试在 bash 中使用 bc 以浮点形式输出结果。但是我得到以下代码的以下输出。我如何从这里获得乘法结果以及为什么我找不到命令。

 #!/bin/bash 
 v1=3.41 
 v2=45 
 v3= $(bc <<< "scale=4;$v1 + $v2")
 echo $v3 
 v3= $(bc <<< "scale=4;$v1 - $v2") 
 echo $v3 
 v3= $(bc <<< "scale=4;$v1 / $v2") 
 echo $v3 
 v3= $(bc <<< "scale=4;$v1 % $v2") 
 echo $v3
 v3 = $(bc <<< "scale=4;$v1 * $v2") 
 echo $v3 
Run Code Online (Sandbox Code Playgroud)

我得到的输出如下:

mint@mint ~ $ bash bc.sh 
bc.sh: line 4: 48.41: command not found

bc.sh: line 6: -41.59: command not found

bc.sh: line 8: .0757: command not found

bc.sh: line 10: .0035: …
Run Code Online (Sandbox Code Playgroud)

bash bc

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

线性时间Euler的Totient函数计算

在浏览了一下之后,我发现这个代码用于使用Sieve of Eratostenes在线性时间内计算Euler的phi值.但是没能理解这个代码中使用的主要逻辑,特别是在内部for循环和在这个循环中使用的想法中做了什么.计算phi值.如果有人帮我理解这段代码会很有帮助.

#define MAXN 3000000
int phi[MAXN + 1], prime[MAXN/10], sz;
bitset <MAXN + 1> mark;

for (int i = 2; i <= MAXN; i++ ){
   if(!mark[i]){
      phi[i] = i-1;
      prime[sz++]= i;
   }
    for (int j=0; j<sz && prime[j]*i <= MAXN; j++ ){
            mark[prime[j]*i]=1;
            if(i%prime[j]==0){
                  phi[i*prime[j]] = phi[i]*prime[j];
                  break;
            }
            else phi[i*prime[j]] = phi[i]*(prime[j]-1 );
   }
}
Run Code Online (Sandbox Code Playgroud)

c++ sieve-of-eratosthenes

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