【问题标题】:How to "refresh" python module structure?如何“刷新”python模块结构?
【发布时间】:2016-12-13 04:24:39
【问题描述】:

我已经安装了 python 模块,例如 scipy(在 osx 上)。例如,我可以这样做:

import scipy.sparse.linalg as li
li.lobpcg

并且 lobpcg 被识别为一个函数:

在目录中 $HOME//库/Python/2.7/lib/python/site-packages/scipy/sparse/linalg/eigen/ 我已经创建了子目录 lobpcg2

-rw-r--r--   1 x123  staff  421 Dec 13 03:58 __init__.py
-rw-r--r--   1 x123  staff  779 Dec 13 03:59 __init__.pyc
drwxr-xr-x  10 x123  staff  340 Dec 13 03:59 arpack
drwxr-xr-x   9 x123  staff  306 Dec 13 03:59 lobpcg
drwxr-xr-x  10 x123  staff  340 Dec 13 05:09 lobpcg2
-rw-r--r--   1 x123  staff  513 Dec 13 05:10 setup.py
-rw-r--r--   1 x123  staff  751 Dec 13 05:10 setup.pyc

含内容:

total 104
-rw-r--r--  1 x123  staff    468 Dec 13 05:05 __init__.py
-rw-r--r--  1 x123  staff    832 Dec 13 05:05 __init__.pyc
drwxr-xr-x  3 x123  staff    102 Dec 13 05:06 build
-rw-r--r--  1 x123  staff  19350 Dec 13 05:06 lobpcg2.py
-rw-r--r--  1 x123  staff  15118 Dec 13 05:09 lobpcg2.pyc
-rw-r--r--  1 x123  staff    432 Dec 13 05:06 setup.py
-rw-r--r--  1 x123  staff    922 Dec 13 05:05 setup.pyc
drwxr-xr-x  4 x123  staff    136 Dec 13 05:05 tests

(当我导入 *.py 模块时创建了 pyc 文件) 我可以在目录中直接导入 lobpcg2,也可以通过为该目录设置适当的 pythonpath 来导入。我应该怎么做才能在没有额外设置的情况下将其称为以下代码?

import scipy.sparse.linalg as li
li.lobpcg2

【问题讨论】:

  • 你为什么要直接在你的 SciPy 安装中插入东西?
  • 我想修复特定功能实现中的一些问题。我应该把它放在哪里?
  • 你自己的包。

标签: python scipy


【解决方案1】:

将“lobpcg2”添加到其父目录中的 init.py。见this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-10
    • 2011-03-12
    • 1970-01-01
    • 2020-03-04
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多