我试图将python项目从v2.x移植到v3.x
python的一个主要变化是导入系统。
我现在在尝试加载我的python笔记本时遇到错误,如下所示
package/
__init__.py
bh_tsne.py
Collect Samples.ipynb //imports utils.list_all_files, sees error
错误输出
---------------------------------------------------------------------------
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
然后是{{ 1}}?
bh_tsne进口
__init__.py
修改
这可能是多余的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
根本原因吗?
答案 0 :(得分:1)
我最终只是从它的源上游项目升级了一个项目中使用的包装器。原主人做了升级。
https://github.com/lvdmaaten/bhtsne/blob/master/bhtsne.py
然后导入工作
import utils.bhtsne as bhtsne
答案 1 :(得分:0)
我发现bh_tsne似乎不适用于python 3.另外一个版本(Multicore TSNE)也适用于python 2.7