Python包路径问题

2024-06-14 05:57:00 发布

您现在位置:Python中文网/ 问答频道 /正文

使用python2.7,OS:ubuntu16.04 64位。你知道吗

我正在使用pythoncapi编写一个示例应用程序。我已经创建了一个虚拟环境,并在virtualenv中安装了相关包来运行这个应用程序。下面是我的代码。你知道吗

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

int main(int argc, char* argv[]){    
  Py_OptimizeFlag=1;
  //Py_SetPythonHome((char *)"/home/user/workspace/venv_2_7/bin/python");
  Py_SetProgramName((char *)"python_test");
  Py_Initialize();

  PySys_SetPath((char *)"/home/user/workspace/venv_2_7/lib;/home/user/workspace/venv_2_7/lib/python2.7/site-packages;");

  PySys_SetArgv(argc, argv);

  PyObject* PyFileObject = PyFile_FromString((char *)"/home/user/Projects/python_test/test.py", (char *)"r");
  int ret = PyRun_SimpleFileEx(PyFile_AsFile(PyFileObject), (char *)"/home/user/Projects/python_test/test.py", 1);

  if (ret != 0) {
    printf ("Failed to launch the application.\n");
    return 0;
  }

  Py_Finalize();
  return 0;
}

运行此文件时,出现以下错误:

Traceback (most recent call last):
  File "/home/user/Projects/python_test/test.py", line 23, in <module>
    ....
  File "/home/user/Projects/python_test/sample/__init__.py", line 12,     in <module>
    import logging
ImportError: No module named logging

该消息清楚地表明,当我们运行应用程序时,找不到应用程序所需的系统和其他包。即使我设置了路径,也找不到。你知道吗

  • 如何告诉应用程序在哪里可以找到所有必需的系统和其他包?你知道吗
  • 如何通过API设置,使我们不出错?你知道吗

Tags: pytest应用程序homevenvincludeworkspaceint
1条回答
网友
1楼 · 发布于 2024-06-14 05:57:00

我认为路径中的第一项应该包括python2.7文件夹,因为标准库文件应该在那里,而不是在lib中。你知道吗

/home/user/workspace/venv_2_7/lib/python2.7

但是你应该仔细检查一下它们是否在那里。如果您的virtualenv工具较旧,那么它可能在该区域具有不同的默认行为。你知道吗

相关问题 更多 >