首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我在python中有循环导入吗?

我在python中有循环导入吗?
EN

Stack Overflow用户
提问于 2017-02-14 09:27:06
回答 2查看 137关注 0票数 0

我试图将python项目从v2.x移植到v3.x

python的主要更改之一是导入系统。

我现在看到一个错误,当我试图加载我的python笔记本时,如下所示

代码语言:javascript
复制
package/
    __init__.py
    bh_tsne.py

Collect Samples.ipynb //imports utils.list_all_files, sees error

误差输出

代码语言:javascript
复制
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-2-1339232cd15c> in <module>()
      1 import numpy as np
      2 from os.path import join
----> 3 from utils.list_all_files import list_all_files
      4 from multiprocessing import Pool

/~/AudioNotebooks/utils/__init__.py in <module>()
      4 from . import show_array
      5 from . import make_mosaic
----> 6 from . import bh_tsne
      7 from . import normalize
      8 from . import mkdir_p

ImportError: cannot import name 'bh_tsne'

奇怪..。我认为问题是循环依赖。但是bh_tsne不依赖于任何实用程序。循环性是否来自我的utils.list_all_files,然后是__init__.py

bh_tsne imports

代码语言:javascript
复制
from argparse import ArgumentParser, FileType
from os.path import abspath, dirname, isfile, join as path_join
from shutil import rmtree
from struct import calcsize, pack, unpack
from subprocess import Popen
from sys import stderr, stdin, stdout
from tempfile import mkdtemp
from platform import system
from os import devnull
import numpy as np
import os, sys 
import io

编辑

这是多余的os.path join可能是根本原因吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-08-10 17:34:26

最后,我只是升级了一个项目中使用的包装器,该包装器来自于它的源上游项目。原来的主人已经做了升级。

https://github.com/lvdmaaten/bhtsne/blob/master/bhtsne.py

从那以后,进口就变成了

import utils.bhtsne as bhtsne

票数 1
EN

Stack Overflow用户

发布于 2017-07-05 22:03:13

我发现bh_tsne似乎不适用于python3。另外,另一个版本(多核TSNE)也只能使用python2.7。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42222270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档