我已经尝试解决了几次,但是在任何地方都找不到。
让我弄清楚。
我在game
中创建C:/Users
,它是一个包,由
game/__init__.py
game/sound/__init__.py
game/sound/echo.py
然后我在Pycharm的其他位置执行Test_Module.py
我尝试
>>> sys.path.append("C:/Users/game")
和
>>> sys.path.insert(0, "C:/Users/game")
当我导入游戏时,Pycharm中有红色下划线
泊坞窗中没有名为“游戏”的模块。
我也做了Interpreter项目来选择路径。但这只是使红色下划线消失而仍然无效
没有名为“游戏”的模块
好吧,如果我将game
文件移到执行Test_Module.py
的文件夹中,那么它完全可以在没有sys.path.append
的情况下工作,而只是import game
。
答案 0 :(得分:0)
我在Linux上,所以我试图像这样复制您的包结构。
mkdir -p game/sound
touch game/__init__.py
touch game/sound/__init__.py
touch game/sound/echo.py
现在我的目录看起来像这样
$ tree
.
└── game
├── __init__.py
└── sound
├── echo.py
└── __init__.py
echo.py
包含此
def hello():
print("hello")
如果我启动python解释器,我可以调用该函数
$ python
Python 3.6.4 (default, Jul 17 2018, 18:32:53)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from game.sound import echo
>>> dir(echo)
['__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'hello']
>>> echo.hello()
它正确返回
hello
我在pycharm中打开了它,看起来好像可以正确找到所有内容。如果您按照我在另一个目录中所做的操作并在pycharm中打开,对您有用吗?