首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有版本号的cx_Freeze模块

问具有版本号的cx_Freeze模块
EN

Stack Overflow用户
提问于 2019-01-29 10:17:03
回答 1查看 1.3K关注 0票数 0

我想通过版本号指定多个模块来安装。

如果这是我的setup.py

如何调整mods列表的内容以指定版本号?

代码语言:javascript
复制
    from cx_Freeze import setup, Executable
    import sys

    base = None

    if sys.platform == 'win32':
        base = None


    executables = [Executable("main.py", base=base)]

    mods = ["cachetools==3.0.0",
    "pyexcel-xlsx==0.5.6",
    "idna"]

    packages = mods
    options = {
        'build_exe': {
            'packages':packages,
        },

    }

    setup(
        name = "file_rename",
        options = options,
        version = "1",
        description = 'renames pdf consent forms',
        executables = executables
    )

编辑: utilities.py文件开始:

代码语言:javascript
复制
import os
from os.path import dirname
import json
import io
from google.cloud import vision

在应用@jpeg的建议后,我得到的错误如下:

​

我的冰点是:

代码语言:javascript
复制
appdirs==1.4.3
beautifulsoup4==4.7.1
cachetools==3.0.0
certifi==2018.11.29
chardet==3.0.4
cx-Freeze==5.1.1
dialogflow==0.5.1
dj-database-url==0.5.0
Django==2.1.4
django-heroku==0.3.1
et-xmlfile==1.0.1
google==2.0.1
google-api-core==1.6.0
google-auth==1.6.1
google-cloud==0.34.0
google-cloud-core==0.28.1
google-cloud-storage==1.13.1
google-cloud-vision==0.35.1
google-resumable-media==0.3.1
googleapis-common-protos==1.5.5
grpcio==1.16.1
gunicorn==19.6.0
idna==2.7
image==1.5.27
jdcal==1.4
lml==0.0.7
numpy==1.15.4
openpyxl==2.5.12
packaging==19.0
pandas==0.23.4
pdf2image==1.1.0
Pillow==5.3.0
protobuf==3.6.1
psycopg2==2.7.6.1
pyasn1==0.4.4
pyasn1-modules==0.2.2
pyexcel==0.5.10
pyexcel-io==0.5.11
pyexcel-xlsx==0.5.6
pyparsing==2.3.1
pypng==0.0.19
python-dateutil==2.7.5
pytz==2018.7
requests==2.21.0
rsa==4.0
six==1.11.0
soupsieve==1.7.3
texttable==1.5.0
urllib3==1.24.1
whitenoise==3.3.1
wincertstore==0.2
XlsxWriter==1.1.2

此问题在正常运行脚本时不会显示出来,只有在创建和运行my之后,才会出现错误。

EN

回答 1

Stack Overflow用户

发布于 2019-01-29 12:13:28

这在安装脚本中是不可能的(据我所知)。cx_Freeze生成一个可执行文件,包含与其调用的版本和配置完全相同的python版本和配置,请参见文档。

因此,您需要进行一个新的python安装,其中将所有模块安装到希望的配置中,例如

代码语言:javascript
复制
python -m pip install cachetools==3.0.0

并调用安装脚本,例如

代码语言:javascript
复制
python setup.py build

其中python代表新安装的python可执行文件。

您可以在一台计算机上安装多个python,每个安装在不同的目录中,并安装不同版本的模块。

例如,您也可以使用维塔列夫来管理不同项目的单独包安装,但是在virtualenv中使用cx_Freeze似乎需要一些额外的调整才能正常工作。

编辑:

尝试将packages列表替换为

代码语言:javascript
复制
packages = ['google']

在你的安装脚本中。请参阅ModuleNotFoundError: python3.6.7上没有名为“google”的模块

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54418688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档