嵌入式 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 - 如何修复? 的相关文章

  • C++ 有像 Pascal 一样的“with”关键字吗?

    withPascal 中的关键字可用于快速访问记录的字段 有人知道 C 是否有类似的东西吗 前任 我有一个包含许多字段的指针 但我不想这样输入 if pointer gt field1 pointer gt field2 pointer g
  • .NET Windows 服务中调用 C# 的 wait 的 I/O 回调是否可以不阻塞?

    我知道在 ASP NET 中 当使用 wait 时工作线程会返回到池中 而 I O 发生在后台 这对于可扩展性非常有用 我的 Windows 服务是一个套接字服务器 它使用 Begin End 样式的异步套接字 I O 混合我的魔法 我知道
  • 在 MVC 类上创建主键字段

    我是 MVC 和 C 新手 我只是偶然发现它并发现它很有趣 我遇到了一个不允许我继续的问题 这是我的代码 using System using System Collections Generic using System Linq usi
  • C++:获取注册表值仅给出第一个字符[重复]

    这个问题在这里已经有答案了 我试图从注册表中获取字符串值 但我只得到第一个字母 HKEY hKey char gamePath MAX PATH if RegOpenKeyEx HKEY CURRENT USER L Software Bl
  • TestMethod:异步任务 TestSth() 不适用于 .NET 4.0

    我正在尝试使用 NET 4 0 BCL Async 和 MsTest 运行异步测试方法 看来这个设置不能处理 测试方法 异步Task测试Sth 由于测试用例资源管理器中缺少条目 将签名更改为异步后void 我可以运行测试用例 但结果错误 根
  • 将占位符文本添加到文本框

    我正在寻找一种将占位符文本添加到文本框的方法 就像在 html5 中使用文本框一样 IE 如果文本框没有文本 则会添加文本Enter some text here 当用户单击它时 占位符文本消失并允许用户输入自己的文本 如果文本框失去焦点并
  • 如何在 C++ 的子目录中创建文件?

    这是我的代码 如何在子目录联系人中创建文件 每次创建该文件时 它都会出现在与我的程序相同的目录中 int main ofstream myfile contacts myfile open a myfile close 在构造函数中指定完整
  • ASP MVC 5 - 403 customError 不起作用

    我正在尝试为我的应用程序创建自定义错误页面 它在大部分情况下都有效 但不适用于403 errors 我的网络配置
  • 从 ef core 的子集合中删除一些项目

    我有一个父表和子表 其中父表与子表具有一对多关系 我想删除一些子项 并且希望父项的子集合反映该更改 如果我使用删除选定的子项RemoveRange 那么子集合不会更新 如果我使用Remove从子集合中删除子集合然后 显然 它不如使用效率高R
  • IBM Watson 对话服务错误:无法从“方法组”转换为“conversation.onMessage”

    我正在尝试运行 IBM Watson会话服务团结和下面是代码片段 https github com watson developer cloud unity sdk conversation private Conversation m C
  • 如何在类型提示中定义元组或列表的大小

    有没有办法在参数的类型提示中定义元组或列表的大小 目前我正在使用这样的东西 from typing import List Optional Tuple def function name self list1 List Class1 if
  • 如何使用 C# 代码使用超链接的 onClick 事件?

    我正在尝试为页面中的超链接添加条件 而不是仅仅使用特定的链接 例如 a href help Tutorial html Tutorial a 我想为不同的用户显示不同的页面 例如 如果用户以管理员身份登录 他们将看到与普通用户不同的链接 我
  • 使用 cudamalloc()。为什么是双指针?

    我目前正在浏览有关的教程示例http code google com p stanford cs193g sp2010 http code google com p stanford cs193g sp2010 学习CUDA 演示的代码 g
  • ASP.NET Web API Swagger(Swashbuckle)重复OperationId

    I have a web api controller like below In swagger output I am having the below image And when I want to consume it in my
  • C# - 命名空间内的类型声明

    在命名空间内而不是在类中声明类型的可能用途是什么 For ex namespace Test public delegate void Ispossible 这是有效的并且不会产生任何编译错误 但我无法想象为什么我们会以这种方式声明它而不是
  • 如何使用eclipse构建C++应用程序

    我已经从以下位置下载了 Eclipse Juno for C here http www eclipse org downloads download php file technology epp downloads release ju
  • 检索 Autofac 容器以解析服务

    在 C WindowForms 应用程序中 我启动一个 OWIN WebApp 它创建另一个类 Erp 的单例实例 public partial class Engine Form const string url http 8080 49
  • 如何在Linux上构建GLFW3项目?

    我已经使用 cmake 和 make 编译了 glfw3 和包含的示例 没有出现任何问题 开始编写我的第一个项目 作为 opengl 和 glfw 的新手 并且对 C 和 CMake 没有经验 我正在努力理解示例构建文件 甚至要链接哪些库和
  • Visual Studio 2015默认附加库

    当我在 VS 2015 中创建一个空项目时 它会自动将这些库放入 附加依赖项 中 kernel32 lib user32 lib gdi32 lib winspool lib comdlg32 lib advapi32 lib shell3
  • 如何获取通过网络驱动器访问的文件的 UNC 路径?

    我正在 VC 中开发一个应用程序 其中网络驱动器用于访问文件 驱动器由用户手动分配 然后在应用程序中选择驱动器 这会导致驱动器并不总是映射到相同的服务器 我该如何获取此类文件的 UNC 路径 这主要是为了识别目的 这是我用来将普通路径转换为

随机推荐

  • 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