Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Python';s冻结工具_Python_Importerror - Fatal编程技术网

通过Python';s冻结工具

通过Python';s冻结工具,python,importerror,Python,Importerror,我已经在Linux Ubuntu中安装了python2.7.10。(我使用源代码tarball) 我想获得一个可执行的二进制文件,以便在未安装Python的远程服务器中使用 我使用了命令 python freeze.py -o ./dist_time Test_time.py “Test_time.py”的源代码: import datetime now = datetime.datetime.now() print print "Current date and time using s

我已经在Linux Ubuntu中安装了python2.7.10。(我使用源代码tarball)

我想获得一个可执行的二进制文件,以便在未安装Python的远程服务器中使用

我使用了命令

python freeze.py -o ./dist_time Test_time.py
“Test_time.py”的源代码:

import datetime

now = datetime.datetime.now()

print
print "Current date and time using str method of datetime object:"
print str(now)

print
print "Current date and time using instance attributes:"
print "Current year: %d" % now.year
print "Current month: %d" % now.month
print "Current day: %d" % now.day
print "Current hour: %d" % now.hour
print "Current minute: %d" % now.minute
print "Current second: %d" % now.second
print "Current microsecond: %d" % now.microsecond

print
print "Current date and time using strftime:"
print now.strftime("%Y-%m-%d %H:%M")
我收到“测试时间”可执行二进制文件

我将二进制文件(Test_time)移动到远程服务器(未安装Python)

当我在那里执行“Test_time”二进制文件时,我收到以下错误消息:

./Test_time

Traceback (most recent call last):
  File "Test_time.py", line 3, in <module>
ImportError: No module named datetime
/测试时间
回溯(最近一次呼叫最后一次):
文件“Test_time.py”,第3行,在
ImportError:没有名为datetime的模块

为什么datetime模块没有内置到可执行文件中?如何将模块包括在可执行文件中?

您可以使用
cx\u freeze
从脚本创建可执行文件,它将生成包含可执行文件及其依赖项的目录。
您需要在同一目录中创建
setup.py

import sys
from cx_Freeze import setup, Executable

base = None
if sys.platform == "posix":
    base = "Linux"

setup(  name = "times",
        version = "0.1",
        description = "My demo application!",
        executables = [Executable("time.py", base=base)])

然后用这个命令运行它
python setup.py build

你在远程服务器上使用virtualenv吗?你用什么来冻结?@Ayush Shanker不,我只是将“time”文件从本地移动到远程服务器,我使用“/time”命令在2.3版之后,
datetime
模块始终包含在python标准库中。所以,如果您没有,那么我建议您在服务器上升级linux版本。@GamesBrainiac我的服务器linux版本是12.04。python版本是2.7.10,如果python总是包含datetime模块,为什么找不到datetime模块?
import sys
from cx_Freeze import setup, Executable

base = None
if sys.platform == "posix":
    base = "Linux"

setup(  name = "times",
        version = "0.1",
        description = "My demo application!",
        executables = [Executable("time.py", base=base)])