Closed zjuchenyuan closed 7 years ago
您好,抱歉给您造成了困扰。由于函数计算的运行环境都是在linux下,因此当在windows下使用fcli并执行sbox命令时,需要在windows环境下执行linux container。当我们在开发fcli时,是用ECS windows来测试win版本的,没有办法cover上述场景。接下来,我们会申请windows开发机,复现您的问题并fix。
谢谢您的反馈。
创建项目文件夹fcli_win_test
,在此文件夹内用pip install bs4 -t .
得到bs4
文件夹
创建index.py:
import os
def index(event, context):
import bs4
return {"fuck":list(os.listdir("/code"))}
在Win下配置好fcli.exe后,进入fcli shell
使用这个命令上传:
mkf fcli_win_test -d fcli_win_test -h index.index -t python2.7
在控制台调用此函数,可以得到ImportError的traceback
注:在Linux 64bit下能正常返回,这个问题是fcli.exe的问题
修改index.py为:
import os
def index(event, context):
# import bs4
return {"fuck":list(os.listdir("/code"))}
调用函数可以看到文件名包含\\
字符的文件
您好,v0.6已经fix了该问题。另外,本周我们会release python sdk,如果您感兴趣,可以参与开发。
https://py3.io/Python.html#windowsfclifcliexe
这个fcli.exe(版本0.5)把windows的
\\
路径名当成了文件名的一部分,部署后在/code文件夹下也就对应创建了名称为bs4\\__init__.py
这样的文件(根本没有bs4子文件夹),Python当然会找不到bs4这个包啊!摔!