在最新的Python

时间:2016-06-05 19:29:52

标签: python-2.7 python-3.x

最近我驳回了 Python 2.7.6 并安装了最新的Python。我注意到我的项目中的进口不起作用(他们显然以前做过)。

我们说我有一个文件夹" MODULES" 这是一个PYTHONPATH。我在其中创建了一些内容,例如:

"文件夹1" ;的" this.py"

现在通过" this.py" ,我可以轻松地从" folder1" 中导入任何内容并制作兄弟导入在" folder1" 中,但如果我在其中创建另一个文件夹(例如"子文件夹" )并放置任何Python文件(例如" keepgoing.py" )来自"子文件夹"以外的任何Python文件都无法访问它。

(ImportError:没有名为'子文件夹的模块')

PS:其实我可以从pythonshell导入" keepgoing.py"

是什么原因引起的?如何使我的文件夹/包可访问?我尝试使用空的inits,没有inits,inits with from ... import并简单地导入。或者我可能需要扩展我的PYTHONPATH?

或许如何在Python 3.5上使这个东西工作 https://github.com/Accel92/RPG-Game

来自game.map1导入地图

ImportError:没有名为' game'

的模块

1 个答案:

答案 0 :(得分:0)

由于某些原因,您的游戏无效。第一个(和你的问题的目的)是相对进口。像这样编辑__init__个文件:

<强>游戏/ __初始化__。PY

from  . import chars1
from  . import map1
from . import core

<强>芯/ __初始化__。PY

from .engine import Engine
from .fight import Fight
from .player import Player
from .new_player import my_player
from .error_log import wrong_choice
from .int_input import int_input
from .choose_skill import choose_skill

<强> chars1 / __初始化__。PY

from .knight import Knight
from .mage import Mage
from .spider1 import SpiderLv1

此外,您必须将print功能更改为print(),如下所示:

print ("%s's hp is %s" %(mob_name, mob_hp))

最后,您的raw_input函数现在应该只有input

In this link您将能够理解这种选择背后的理由。

这些是我在您的代码中检测到的问题,但我认为没有任何严重的问题。