我正在尝试将python和一系列软件包安装到64位Windows 7桌面上.我安装了Python 3.4,安装了Microsoft Visual Studio C++,并成功安装了numpy,pandas和其他一些.我在尝试安装scipy时遇到以下错误;
numpy.distutils.system_info.NotFoundError: no lapack/blas resources found
Run Code Online (Sandbox Code Playgroud)
我正在使用pip install离线,我正在使用的安装命令是;
pip install --no-index --find-links="S:\python\scipy 0.15.0" scipy
Run Code Online (Sandbox Code Playgroud)
我已经阅读了这里有关要求编译器的帖子,如果我理解正确的是VS C++编译器.我正在使用2010版本,因为我正在使用Python 3.4.这适用于其他包.
我是否必须使用窗口二进制文件,或者有一种方法可以让pip install工作吗?
非常感谢您的帮助
我正在建立我的numpy/scipy环境基于blas和lapack或多或少基于这个步骤.
当我完成后,如何检查,我的numpy/scipy函数是否确实使用了之前构建的blas/lapack功能?
我有一个简单的pandas pyinstaller exe,超过40MB.
我的exe示例:
import collections
import csv
import selenium
import pandas
print('hi')
Run Code Online (Sandbox Code Playgroud)
40MB +这似乎有点矫枉过正.
我怎样才能尽可能减少这个?
一种方法:
pyinstaller --onefile --exclude matplotlib --exclude scipy --exclude pandas --exclude numpy.py
Run Code Online (Sandbox Code Playgroud)
然而,考虑到排除列表的大小,这是不切实际的.
如何为pyinstaller选择一个文件夹来获取模块并排除其他所有文件,这样我可能会有一个小应用程序?
规格文件:
a = Analysis(['123.py'],
pathex=['C:\\Users\\AA\\ZZ'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='123',
debug=False,
strip=False,
upx=True,
runtime_tmpdir=None,
console=True )
Run Code Online (Sandbox Code Playgroud)
这也值得一提.默认情况下,Pyinstaller不会检测到pandas.
加:
hiddenimports = ['pandas._libs.tslibs.timedeltas']
To: C:\Users\<NAME>\AppData\Local\Programs\Python\Python36\Lib\site-packages\PyInstaller\hooks
Run Code Online (Sandbox Code Playgroud)
使用多个可执行文件时可能的解决方案是将每个可执行文件链接到单独的文件夹或可执行文件以及所有导入.
我在不同的环境中使用numpy和scipy(MacOS,Ubuntu,RedHat).通常我使用可用的包管理器安装numpy(例如,mac ports,apt,yum).
但是,如果您不手动编译Numpy,您如何确定它使用BLAS库?使用mac端口,ATLAS作为依赖项安装.但是,我不确定它是否真的被使用过.当我执行一个简单的基准测试时,该numpy.dot()函数需要大约.2倍于使用Eigen C++库计算的点积的时间.我不确定这是否是一个合理的结果..
最好的问候,Apo
是否有一个很好的(小而轻的)替代蟒蛇的numpy,做线性代数?我只需要矩阵(乘法,加法),反转,转置等.
为什么?
我厌倦了尝试安装numpy/scipy - 这是一个让它工作的皮塔 - 它似乎永远不会正确安装(特别是因为我有两台机器,一个linux和一个窗口):无论我做什么:编译它或从预先构建的二进制文件安装.制作一个正常的"普通"安装程序有多难?
我想测试和比较使用英特尔 MKL 和不使用英特尔 MKL 的 Numpy 矩阵乘法和特征分解性能。
我已经使用pip install mkl(Windows 10(64位),Python 3.8)安装了MKL。
然后我使用这里的示例进行 matmul 和特征分解。
我现在如何启用和禁用 MKL 以便检查使用 MKL 和不使用 MKL 时的 numpy 性能?
参考代码:
import numpy as np
from time import time
def matrix_mul(size, n=100):
# reference: https://markus-beuckelmann.de/blog/boosting-numpy-blas.html
np.random.seed(112)
a, b = np.random.random((size, size)), np.random.random((size, size))
t = time()
for _ in range(n):
np.dot(a, b)
delta = time() - t
print('Dotted two matrices of size %dx%d in %0.4f ms.' % (size, size, delta / n …Run Code Online (Sandbox Code Playgroud) 我main.py使用 numpy 和 Qt编写了一个简短的程序:
from PyQt5 import QtWidgets
import numpy as np
import sys
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QTextEdit('hello')
w.show()
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
当我使用pyinstaller --windowed main.py生成的dist文件夹时,它的大小为 390MB。
如果我删除import numpy as np生成的dist文件夹只有 70MB。
有什么办法可以在仍然使用 numpy 的同时减小尺寸?也许只包括dlls我真正使用的?
我使用 andaconda2 python2.7 和 wxpython、matplotlib、skimage、numpy 编写了一个脚本。之后使用pyinstaller生成一个可执行文件。总大小接近 700 mb。感觉太大了。有人说是因为 numpy 使用 MKL,正如我在文件夹中看到的那样,它非常大 ~ 400 mb。所以我想知道如何使用 numpy nomkl 创建环境?或者,如果有人有使用 pyinstaller 减小可执行文件大小的经验,请告诉我。顺便说一句,我试过 py2exe。它创建了一个小得多的文件夹,但不知何故该 exe 不起作用。
谢谢!
python ×8
numpy ×5
pyinstaller ×3
blas ×2
intel-mkl ×2
c++ ×1
lapack ×1
macos ×1
matplotlib ×1
pandas ×1
pip ×1
python-3.x ×1
scipy ×1
selenium ×1
windows ×1