我正在将一些 python 脚本部署为 Azure Web 作业,并在导入一些共享模块(以 zip 文件的形式)时遇到问题。如果我将 zip 文件复制到与脚本文件相同的目录,一切都会正常。但如果我将 zip 文件移动到另一个目录,事情就会停止工作。
现在了解具体细节。
1)这有效
目录结构:
App_data
jobs
continuous
firstjob
azure.zip
job1.py
secondjob
azure.zip
job2.py
在 job1.py (和 job2.py)中,我添加以下代码:
sys.path.insert(0, 'azure.zip')
from azure.storage.blob import *
1)这不起作用
目录结构:
App_data
pylib
azure.zip
jobs
continuous
firstjob
job1.py
secondjob
job2.py
在 job1.py (和 job2.py)中,我添加以下代码: # Azure 将脚本放置在比解决方案中出现的位置低一级的位置,因此会出现额外的“..”!
lib_path = os.path.realpath('..\..\..\pylib')
sys.path.insert(0, os.path.join(lib_path, 'azure.zip'))
# I verified by printing sys.path that the correct path is added for azure.zip
from azure.storage.blob import *
这会导致导入错误。有什么想法吗?
最佳答案
我使用 pycharm 在本地测试了上面的代码。第二个代码也可以很好地工作。我使用的是python3.5.0。我不确定为什么会出现错误。可能是Azure中python版本的问题。希望这对其他人有帮助。
关于Python:如何从不同目录导入 zip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35109803/