我不知道有多少重复,但我看到的没有解决我的问题。
为了练习编写和安装自定义模块,我编写了一个简单的factorial
模块。我在我的site-packages
文件夹中创建了一个包含factorial.py
和一个空__init__.py
文件的factorial文件夹。
但输入import factorial
不起作用。我怎么解决这个问题?我也试过pip install factorial
,但那也没有用。
我是否必须将我的代码保存在site-packages
内的同一文件夹中,或者我可以将其保存在我想要的地方吗?
问候
holofox
编辑:我解决了。我做的一切都是正确的。在我的代码中正确导入和使用它时遇到了一些问题...
答案 0 :(得分:0)
我认为这里有几个不同的事情需要考虑。
当您导入模块时(执行导入因子),Python将查找已定义的PATH并尝试查找您尝试导入的模块。在最简单的情况下,如果您的模块位于脚本尝试导入的同一文件夹中,它将找到它。如果它在其他地方,则必须指定路径。
现在,site-packages是Python保存已安装库的地方。因此,例如当您执行pip install x时,Python会将模块x放在您的站点包目标中,当您尝试导入它时,它会在那里查找它。为了更好地管理网站包,请尝试阅读virtualenv。
如果您希望模块转到那里,首先需要创建一个可以安装的软件包。对于那些涉及基于设置文件的某种类型的构建过程的包装的distutils或所有不同的替代方案。
我不想详细讨论这些问题,因为所有这些都已被覆盖过。只是想让你大致了解在哪里寻找。