簡體   English   中英

以下模塊不會導入

[英]The following module won't import

我在 Python 中有一個 PyCharm “項目”,也就是說,我有一個文件夾,它是各種實驗性 Z23EEEB4347BDD26BFC6B7EE9A3B755pyterclass 筆記本的集合,以及以下便捷方法/Julyterclass 文件,

實際上,我剛剛寫了一些我引以為豪並希望重復使用的東西。 我發現很難導入。 我已經查看並嘗試實施以下問題的答案,但無濟於事:

  1. 無法在 Python 中導入我自己的模塊
  2. 如何在 python 3.6 中導入我自己的模塊?
  3. 如何以優雅的方式導入我自己的模塊?

項目結構:

learning_project
|
├───.idea
│   ├───dictionaries
│   └───inspectionProfiles
|
├───decision_trees
├───linear_algebra
├───neural_networks
|   ├───based_sequential.py <---------------------------- # Module location #
│   ├───cross-entropy-gradient-descent
│   └───learning pytorch 
|       ├─── class_notebook.ipynb <---------------------- # Want to import for use here #
|       └───Cat_Dog_data  
|
└───venv
    ├───Include
    ├───Lib
    │   └───site-packages
    └───Scripts

我嘗試了以下方法:

import based_sequential
from based_sequential import ClassName
import based_sequential.ClassName
import neural_networks
from neural_networks import based_sequential
import neural_networks.based_sequential
from neural_networks.based_sequential import ClassName

全部導致錯誤No module named '<pick your poison>'

  • 問題1:顯然,我錯過了什么?
  • 問題 2:我的組織是否是問題的一部分? 我開始懷疑是這樣的。

我還懷疑我需要做一些工作來學習編寫比 one.py 文件更大的代碼的管理方面。

我希望您在嘗試導入的函數/模塊中返回一些值。 如果沒有,請檢查。

否則,只需使用sys模塊中的sys.path並將其指向要導入的文件。

>>> import sys
>>> sys.path
   ['',
   'C:\\Python33\\Lib\\idlelib',
   'C:\\Windows\\system32\\python33.zip',
   'C:\\Python33\\DLLs',
   'C:\\Python33\\lib',
   'C:\\Python33',
   'C:\\Python33\\lib\\site-packages']

我建議你檢查相對進口。 https://realpython.com/absolute-vs-relative-python-imports/解決這個問題的方法如下所示:

我將使用的文件結構:

└── project
    ├── package1
    │   ├── module1.py
    │   └── module2.py
    └── package2
        ├── __init__.py
        ├── module3.py
        ├── module4.py
        └── subpackage1
            └── module5.py

要在模塊 1 中從模塊 2 導入,請使用:

from .module2 import function1

在從 module2 導入 module3 的情況下,使用:

from ..package2 import module3

在您自己的情況下,它應該是:

from ..based_sequential import whatever

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM