小编Har*_*per的帖子

使用cx_freeze(Qt5 / PySide2 App)冻结后的绝对路径

问题:

我无法将cx_freeze生成的.exe分发到另一台计算机,因为似乎exe包含对生成.exe的计算机上绝对路径的引用。我还必须直接包含vcruntime140.dll,因为"include_msvcr": True没有复制文件。

设定

  • 赢10
  • 的Python 3.7.2
  • cx_freeze 6.0
  • 没有virtualenv(虽然似乎没有关系,但我已经用venv尝试过)

类似问题

以前已经以类似的形式问过这个问题,但没有答案:cx_Freeze复制路径

错误记录

启动脚本时,出现以下错误(无法从窗口复制/粘贴,因此我共享图片)。您可以看到对绝对路径的引用,该引用C:\Program Files (x86)\Python....显然不在另一台计算机上。

cx_freeze错误日志

冻结脚本

from os.path import dirname
from cx_Freeze import setup, Executable
from config import settings
import os.path
import sys
import glob

PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
DEPENDENCY_DIR = os.path.join(os.getcwd(), 'dependencies')
os.environ['TCL_LIBRARY'] = os.path.join(DEPENDENCY_DIR, 'tcl', 'tcl8.6')
os.environ['TK_LIBRARY'] = os.path.join(DEPENDENCY_DIR, 'tcl', 'tk8.6')

packages = ["sepa", "datev", "atexit", "shiboken2", "PySide2"]
includes = []
excludes = ["Pyside2.Qt5WebEngineCore.dll"]
includefiles = ['qt', 'settings', 'config', os.path.join(DEPENDENCY_DIR, 'DLLs', 'tk86t.dll'),
             os.path.join(DEPENDENCY_DIR, …
Run Code Online (Sandbox Code Playgroud)

python cx-freeze python-3.x

8
推荐指数
1
解决办法
109
查看次数

Notepad ++正则表达式替换为来自同一文件的捕获

我有一个包含以下行的文件(精简示例,真实文件是1.000+行):

...
type1.value1=60  <-- replace 60 with 72 from line 5
type1.value2=15  <-- replace 15 with 14 from line 6
type2.value1=50  <-- replace 50 with 72 from line 5
type2.value2=18  <-- replace 18 with 14 from line 6
type3.value1=72  
type3.value2=14
...
Run Code Online (Sandbox Code Playgroud)

我想用type3中的值替换type(x)中的所有值.有很多类型/价值组合,所以我想避免手工.此外,我必须经常这样做.

这可能与Notepad ++ Regex查找/替换?

匹配表达式如下,其中第一个组应该保持不变,第二个组应该替换为anoter regex的结果.

^type1.([\w]+)=([\S]+)
Run Code Online (Sandbox Code Playgroud)

regex notepad++

6
推荐指数
1
解决办法
93
查看次数

SQLAlchemy:为旧数据库自动生成类定义

如何像 Django-ORM 那样为 SQLAlchemy 自动生成类定义,包括关系和反向引用manage.py inspectdb

python sqlalchemy

5
推荐指数
1
解决办法
2720
查看次数

SQL Server:加权平均值+ GROUP BY

我试图计算SQL Server中的加权平均值.我知道有很多问题可以解决这个问题,但我还有一个额外的问题,我用GROUP BY和sum()和avg()等聚合函数查询了很多其他列.

这是我的查询:

SELECT 
    AVG(tauftr.kalkek) AS 'PurchPrice',
    SUM(tauftr.amount) AS 'Amount',
    AVG(tauftr.price) AS 'SellingPrice',
    tauftr.product AS 'Product',
    auftrkopf.ins_usr AS 'Seller',
    DATEPART(wk, auftrkopf.date) AS 'Week',
    AVG([margin]) AS 'Margin' /* <--- THIS IS WRONG  */ 
    /* CALCULATE HERE: WEIGHTED AVERAGE BETWEEN 'amount' and 'margin' */
FROM 
    [tauftr] AS tauftr
JOIN
    tauftrkopf AS auftrkopf ON tauftr.linktauftrkopf = auftrkopf.kopfnr
WHERE
    auftrkopf.[status] = 'L'
    AND auftrkopf.typ = 'B'
    AND auftrkopf.date >= '01.03.2017'
    AND auftrkopf.ins_usr ='HS'
GROUP BY
    tauftr.product, auftrkopf.ins_usr, …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

4
推荐指数
1
解决办法
4109
查看次数

标签 统计

python ×2

cx-freeze ×1

notepad++ ×1

python-3.x ×1

regex ×1

sql ×1

sql-server ×1

sqlalchemy ×1

t-sql ×1