无法导入ex47.game解决方法

由于项目都建立在自己电脑上,没有考虑怎么能让别人也简单的导入自己写的模块,本文主要用于自己记录与学习。

两种导入方法

1、第一种就是临时的导入路径,在关闭shell之后就会复原,每次使用模块都需要重新导入。具体操作如下图所示:
笨办法学python——自动化测试(笔记)
这样就可以把包含所想要导入的模块的路径放入sys.path中。

2、第二种是永久导入路径的方法之一,更改环境变量,在PYTHONPATH中添加所想要导入的模块的路径。如果环境变量中没有,就直接自己新建一个PYTHONPATH。如下图所示:
笨办法学python——自动化测试(笔记)
这种添加方法不管你电脑里有多少个版本的python,他们在运行时都会查看在PYTHONPATH中出现的路径,在刚添加完的时候,还是会反应没有这个名字的module,所以需要重启一下电脑,再次使用sys.path查看所含路径就会有了。

出现的小问题(不具有普遍性)

在新建ex47这个项目架构的时候,我的整个目录结构是这样的:
笨办法学python——自动化测试(笔记)
与练习46相对应的话,就是projects下面第一个ex47为skeleton,再下一级目录的ex47为NAME。
所以就出现了两个ex47,这种命名使我产生了混淆,导致最开始跟着书上代码建立game.py的时候我将该py放在了第一个ex47目录下,即与setup.py同级,导致在from … import …的时候,直接输入from game import Room即可测试成功,但是from ex47.game import Room时则会显示ex47中没有game.py。

疑问(未测试)

之前出现的小问题使得from game import Room可以直接调用,如果在projects下一级目录中建立了另一个项目(与ex47同级),同时 这个项目里面也有game.py,且game.py里也包含Room类,但内容是不同的。那from game import Room时会不会出现问题,它到底调用的是哪一个?

相关文章:

  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
  • 2021-04-20
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-05
猜你喜欢
  • 2021-12-20
  • 2021-11-20
  • 2021-10-17
  • 2021-12-25
  • 2021-07-01
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案