我正在尝试运行嵌入示例,除非我将其明确添加到当前工作目录中,否则无法从当前工作目录中加载该模块sys.path
:
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append(\".\")");
Python是否不应该在当前目录中查找模块?
Edit1 :尝试使用以下命令导入模块:
Py_Initialize();
PyRun_SimpleString("import multiply");
并且仍然失败,并显示以下错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named multiply
Edit2 :从sys.path
文档中:
如果脚本目录不可用(例如,如果解释器是交互式调用的,或者从标准输入中读取了脚本),则path [0]
是空字符串,它指示Python首先在当前目录中搜索模块 。
不知道 不可用 意味着什么,但是如果我打印,sys.path[0]
它不是空的:
/usr/lib/pymodules/python2.7
您需要要求PySys_SetArgv(int argc, char **argv, int updatepath)
相对进口工作。这会将执行脚本的路径添加到sys.path
if updatepath
is
0
(更多信息,请参考文档)。
以下应该做的把戏
#include <Python.h>
int
main(int argc, char *argv[])
{
Py_SetProgramName(argv[0]); /* optional but recommended */
Py_Initialize();
PySys_SetArgv(argc, argv); // must call this to get sys.argv and relative imports
PyRun_SimpleString("import os, sys\n"
"print sys.argv, \"\\n\".join(sys.path)\n"
"print os.getcwd()\n"
"import thing\n" // import a relative module
"thing.printer()\n");
Py_Finalize();
return 0;
}
我试图运行一个. jar文件,这是在Netbean中成功创建的,我收到以下错误: 初始化VM java时出错。lang.错误:Properties init:无法确定当前工作目录。在爪哇。lang.System。java上的initProperties(本机方法)。lang.System。initializeSystemClass(System.java:1070) 我键入以运行的命令。罐子是 我
我想在不同的子目录中保存不同的css和js文件,这是我的目录结构 然后我尝试将所有这些文件导入到我的索引中。html文件(由“/”映射),但没有正确导入。我应该配置什么使Spring boot能够在“资源”下的所有子目录中递归搜索资源?另外,如果我还想将所有html模板放在子目录中,该怎么办?
问题内容: 我正在尝试安装和使用Evernote模块(https://github.com/evernote/evernote-sdk- python )。我跑了,说安装成功了。 我可以确认Evernote模块存在于中。但是,当我尝试运行时,出现以下错误: 这是我的内容: 我在安装其他模块时遇到了同样的问题。救命? 编辑:我是一个超级新手,还没有编辑该文件。 编辑:输出以下内容: 编辑: 通过添加
问题内容: 我从Git存储库导入了一个项目,并在Eclipse中为其添加了Maven性质。在资源文件夹中,我添加了一个名为的配置文件。现在,每当我尝试从Java代码打开此文件时,都会得到。该文件也存在于maven编译项目后生成的文件夹中。 谁能告诉我可能是什么问题?我尝试加载此文件的Java代码是: 其中是一个对象。 谁能给我一些有关如何解决此问题的提示? 问题答案: 如果文件在编译后被放置在目标
我从Git存储库中导入了一个项目,并在Eclipse中向其添加了Maven nature。在resources文件夹中,我添加了一个名为的配置文件。现在,每当我试图从我的Java代码打开这个文件时,我会得到。该文件也存在于maven编译项目后生成的文件夹中。
我正在运行我的NodeJs应用程序,我收到一个错误。 编辑