嵌入式 Python 无法使用 NumPy 指向 Python35.zip - 如何修复?

2023-12-09

好的,这是来自 Python 网站的基本示例,用于简单说明runpy.exe运行下面的 Python 脚本。引用 Python 包含并链接到后,在 x64 Windows 上使用 Visual Studio 2015 可以正常工作python35.lib对于基本功能(文档没有提到pyvenv.cfg必须位于 EXE 目录中)。但是,调用导入的脚本NumPy导致这个错误ImportError: No module named 'numpy' Failed to load "eig"仅当使用嵌入式时python35.zip,那么如何包含NumPy在嵌入式 Python EXE 中? IE。我还想“嵌入”NumPy(作为 .zip、目录、.dll 或 .pyd 等)。我尝试添加 NumPy 包含并链接到npymath.lib但我得到同样的导入错误。我还研究了一些 Cython 包装器代码,但没有找到解决方案。下面是Python嵌入的示例代码:

#include <Python.h>
#include <iostream>

int main(int argc, char *argv[])
{
    PyObject *pName, *pModule, *pDict, *pFunc;
    PyObject *pArgs, *pValue;
    int i;

    if (argc < 3) {
        fprintf(stderr, "Usage: runpy pythonfile funcname [args]\n");
        return 1;
    }

    Py_SetPath(L"python35.zip"); //this is in the current directory
    Py_Initialize();
    pName = PyUnicode_DecodeFSDefault(argv[1]);
    /* Error checking of pName left out */

    pModule = PyImport_Import(pName);
    Py_DECREF(pName);

    if (pModule != NULL) {
        pFunc = PyObject_GetAttrString(pModule, argv[2]);
        /* pFunc is a new reference */

        if (pFunc && PyCallable_Check(pFunc)) {
            pArgs = PyTuple_New(argc - 3);
            for (i = 0; i < argc - 3; ++i) {
                pValue = PyLong_FromLong(atoi(argv[i + 3]));
                if (!pValue) {
                    Py_DECREF(pArgs);
                    Py_DECREF(pModule);
                    fprintf(stderr, "Cannot convert argument\n");
                    return 1;
                }
                /* pValue reference stolen here: */
                PyTuple_SetItem(pArgs, i, pValue);
            }
            pValue = PyObject_CallObject(pFunc, pArgs);
            Py_DECREF(pArgs);
            if (pValue != NULL) {
                printf("Result of call: %ld\n", PyLong_AsLong(pValue));
                Py_DECREF(pValue);
            }
            else {
                Py_DECREF(pFunc);
                Py_DECREF(pModule);
                PyErr_Print();
                fprintf(stderr, "Call failed\n");
                return 1;
            }
        }
        else {
            if (PyErr_Occurred())
                PyErr_Print();
            fprintf(stderr, "Cannot find function \"%s\"\n", argv[2]);
        }
        Py_XDECREF(pFunc);
        Py_DECREF(pModule);
    }
    else {
        PyErr_Print();
        fprintf(stderr, "Failed to load \"%s\"\n", argv[1]);
        return 1;
    }
    Py_Finalize();
    return 0;
}

嵌入文件在这里:https://www.python.org/ftp/python/3.5.2/python-3.5.2-embed-amd64.zip, python35.zip档案内。这是简单的测试脚本(runpy eig eig 10测试 - 如果您不嵌入,请注意Python35.zip并有NumPy / SciPy安装后它将运行):

eig.py

import numpy as np
from scipy import linalg
def eig(a):
    c = np.random.rand(a,a)*100
    c = np.corrcoef(c)
    print('You are taking the eigsh of a ', a, '^2 matrix')
    e, f = linalg.eig(c)
    return print('Eigvals are: ',np.diag(f))

有人知道如何解决这个问题吗?非常感激。

更新:这是包含 Intel MKL 的编译版本 x64 Python 3.5 Windows NumPy SciPy 和 Pandas:https://www.dropbox.com/sh/2smbgen2i9ilf2e/AADI8A3pCAFU-EqNLTbOiUwJa?dl=0


这不起作用,因为 numpy 不在 zip 文件中python35.zip。 runpy 程序将路径设置为python35.zip:因此,它是该程序异常的 Pythonpath 中的唯一路径... 您必须将本地 numpy 文件夹的父文件夹也添加到 Pythonpath 才能使其正常工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌入式 Python 无法使用 NumPy 指向 Python35.zip - 如何修复? 的相关文章

  • 注销租约抛出 InvalidOperationException

    我有一个使用插件的应用程序 我在另一个应用程序域中加载插件 我使用 RemoteHandle 类http www pocketsilicon com post Things That Make My Life Hell Part 1 App
  • 如何在c++中读取pcap文件来获取数据包信息?

    我想用 C 编写一个程序来读取 pcap 文件并获取数据包的信息 例如 len sourc ip flags 等 现在我找到了如下代码 我认为它会帮助我获取信息 但是我有一些疑问 首先我想知道应该将哪个库添加到我的程序中 然后什么是 pca
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • Python 3:将字符串转换为变量[重复]

    这个问题在这里已经有答案了 我正在从 txt 文件读取文本 并且需要使用我读取的数据之一作为类实例的变量 class Sports def init self players 0 location name self players pla
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 当我们想要返回对象的引用时,为什么我们在赋值运算符中返回 *this 而通常(而不是 this)?

    我正在学习 C 和指针 我以为我理解了指针 直到我看到这个 一方面 asterix 运算符是解引用的 这意味着它返回值所指向的地址中的值 而与号 运算符则相反 它返回值存储的地址记忆 现在阅读有关赋值重载的内 容 它说 我们返回 this因
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • qdbusxml2cpp 未知类型

    在使用 qdbusxml2cpp 程序将以下 xml 转换为 Qt 类时 我收到此错误 qdbusxml2cpp c ObjectManager a ObjectManager ObjectManager cpp xml object ma
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • pytest找不到模块[重复]

    这个问题在这里已经有答案了 我正在关注pytest 良好实践 https docs pytest org en latest explanation goodpractices html test discovery或者至少我认为我是 但是
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • C++ 条件编译

    我有以下代码片段 ifdef DO LOG define log p record p else define log p endif void record char data 现在如果我打电话log hello world 在我的代码中

随机推荐

  • java.io.FileNotFoundException: C:\Program Files\Apache Software Foundation\Tomcat 7.0\logs\localhost_access_log.2012-07-12.txt (

    我正在尝试通过在 Tomcat 上运行我的 servlet 来测试它 但是 我收到上述错误 有时会发生此错误 但早些时候 servlet 运行良好 一些事实 我已经仔细阅读了给出的解释这个类似的问题 以及在here and here 当我尝
  • 我如何关闭/退出我的应用程序上的按钮?

    我有一个按钮可以使用以下代码关闭我的应用程序 结束 问题是这个按钮不会退出我的应用程序 它只是关闭当前意图蚂蚁返回到我的应用程序的上一个意图 窗口 我怎样才能做一个真正的退出 关闭按钮 我尝试过这个 Intent intent new In
  • Java 可选:更改值

    我正在使用 Java 选项 String in sam String ret Optional ofNullable in orElse NULL sam in null ret Optional ofNullable in orElse
  • 将 iPad 缓存增加超过 50 MB?

    我正在使用清单开发一个离线 Web 应用程序 并且想知道 iPad 上的最大缓存大小 我做了一些测试 期间有人问我是否要将缓存增加到 10 MB 25 MB 和 50 MB 因此 50 MB 以下的所有内容似乎都可以正常工作 我禁用了互联网
  • 如何将文本添加到活动的 UITextField

    我有几个UITextField的和一个UIButton 如果我点击UIButton 我想在活动中放置一些静态文本UITextField 所以像这样 IBAction func buttonEen sender UIButton active
  • 将文本转换委托给“插件”Android 应用程序,事先未知

    Context 我们的应用程序向用户显示 HTML 抽认卡 我们添加了几层 过滤器 来满足不同的用户群体 为了满足chess爱好者 我们转换任何 FEN rnbqkbnr pp1ppppp 8 2p5 4P3 5N2 PPPP1PPP RN
  • PyQt - 如何打开/关闭拼写检查

    我使用以下内容作为编辑器拼写检查器的基础 我想制作一个自动拼写检查按钮 按下该按钮将使拼写检查器工作 而未按下时 拼写检查器不应突出显示或建议任何内容 您知道类似于 LibreOffice OpenOffice 自动拼写检查工具栏按钮吗 我
  • 可可-Applescript NSOpenPanel?

    我该如何做NSOpenPanel在可可 Applescript 中 有什么好的教程吗 我熟悉 Applescript 但不太熟悉 Cocoa 部分 我需要一个nib对于 NSOpenPanel 我正在做一个自动操作 看我之前的问题 肖恩 斯
  • 如何在对话期间以编程方式将号码输入到 Android 中的电话应用程序屏幕中

    我想通过我的 Android 程序在对话期间以编程方式将号码输入到 Android 手机的电话应用程序中 像这样的操作 1 打开拨号键盘并 2 键入号码 例如 当您拨打该电话号码并且该电话号码有用于呼叫目的地的分机电话号码时 例如 电话号码
  • Tkinter 中 GStreamer 的视频输出?

    有谁知道我将如何使用 tkinter 窗口作为 python 内的视频接收器 管道的输出 我已经找到了许多其他 GUI 系统的方法 但我不想必须同时使用 tkinter 和其他东西 xxx 预先感谢 x 这对我在 Windows 32 位上
  • 对象必须实现 IConvertible

    对象必须实现 IConvertible 描述 执行当前 Web 请求期间发生未处理的异常 请查看堆栈跟踪以获取有关错误及其在代码中的来源的更多信息 异常详细信息 System InvalidCastException 对象必须实现 I敞篷车
  • 如何在Python中将文本中每个句子的开头大写? [复制]

    这个问题在这里已经有答案了 我想创建一个函数 将一个文本字符串作为输入 并且我想将标点符号后面的每个字母大写 问题是 字符串不像列表那样工作 所以我真的不知道该怎么做 我尝试这样做 但它似乎不起作用 def capitalize strin
  • iOS相机焦点值

    有什么办法可以从具有自动对焦功能的 iPhone 相机中获取焦点值吗 我想使用这些数据来计算 iPhone 到焦点对象的距离 显然这是一个老问题 但由于自 iOS8 以来有一个获取 镜头值 的选项 它应该出现在这里 从iOS 8开始你可以通
  • cx_Freeze 错误:resource_filename() 仅支持 .egg,不支持 .zip

    我有一个完全工作的基于 wxpython 的应用程序 全部用 Python 编写 我想制作一个exe 所以我使用了cxFreeze 在构建过程中 有许多模块似乎丢失了 有时这应该不会造成问题 但是当我运行应用程序时 它给了我来自 MySQL
  • 函数隐藏和重载的区别

    我找不到函数隐藏和重载之间的任何区别 由于函数隐藏是派生类中存在的函数并隐藏基类的函数 两者的函数名称相同 重载 派生类和基类具有相同的名称但不同的签名 class A void print int class B public A voi
  • ant build 中使用 aapt 进行紧缩/资源打包使用其他项目的缓存

    我有两个使用通用库的 Android 应用程序 每个项目都为启动屏幕和其他一些项目定义了自己的背景图像 这些图像在两个应用程序中具有相同的名称 当我从 Eclipse 构建 运行时 每个应用程序都使用正确的背景图像 但是 当我运行 ant
  • jqueryposition() 在 safari 和 chrome 中无法正常工作

    我以前曾见过这个问题一两次 但从未有过适用于我的问题的答案 据我所知 我有一个单击链接时出现的工具提示 我根据链接的位置设置工具提示的位置 如下所示 tooltip css left this position left 这在 FF IE
  • 比较两个数组并用第三个数组中的值替换重复项

    var array1 a b c d var array2 a v n d i f var array3 1 2 3 4 5 6 刚开始学习Javascript 我不知道如何比较array2给那些在array1如果是这样 请将其替换为相应的
  • 一个简单的 SQL Select 查询来抓取社交图中所有有联系的人?

    爬取社交图谱的最短或最快的 SQL 选择查询或 SQL 过程是什么 想象一下我们有这张表 UId FriendId 1 2 2 1 2 4 1 3 5 7 7 5 7 8 5 9 9 7 我们这里有两个人 我正在谈论一个 sql 查询或过程
  • 嵌入式 Python 无法使用 NumPy 指向 Python35.zip - 如何修复?

    好的 这是来自 Python 网站的基本示例 用于简单说明runpy exe运行下面的 Python 脚本 引用 Python 包含并链接到后 在 x64 Windows 上使用 Visual Studio 2015 可以正常工作pytho