Python与Google App Engine:如何导入自定义模块?
我有一个自定义模块,叫做 subprocess32.py
,我把它放在了:
/Python/2.7/site-packages/subprocess32
还有 __init.py__
文件。
我试着在 Python 命令行中导入这个包/模块,使用了:
from subprocess32 import subprocess32
这样做没问题,我可以使用里面的函数等。
我想在我的 Google 应用引擎应用中使用这个模块,我试过:
from subprocess 32 import subprocess32
但是我遇到了以下错误:
No module named subprocess32
我还试着把 subprocess32
文件夹和它的内容放到应用文件夹里,然后在输入之前把 sys.path
指向它,但还是不行。
如果有人能帮忙,我会非常感激,谢谢。
2 个回答
0
假设你的 subprocess32
是一个有效的 Python 模块。你需要把这个 subprocess32
模块复制粘贴到你的项目根目录下。然后再试着导入它。
2
把它安装在你的网站包目录里是没什么意义的。这个目录只存在于你的本地机器上,显然在你部署的时候是不会包含在内的,所以当你在生产环境中尝试导入它时就会出错。为了防止你这样做,开发服务器是在一个沙盒环境中运行的,这个环境也不会从那个目录导入东西,而且还不允许你修改sys.path。
所以,最好的办法是把它放在你的项目目录里,然后从那里导入。
编辑 其实,现在想想,我觉得这样做可能也帮不了你。你没有说明你的subprocess32
模块具体是干什么的,但如果它和标准的subprocess模块有关系的话,你在GAE上是根本无法使用它的。因为在GAE上没有可以执行的系统命令,也没有办法执行任意的命令。你可能需要更详细地解释一下你想用这个模块做什么。