gpt4 book ai didi

python - 当尝试为 Electrum 编译我自己的独立 exe 时,出现错误

转载 作者:太空宇宙 更新时间:2023-11-03 18:35:30 34 4
gpt4 key购买 nike

TypeError: object of type NoneType has no len

我打开了 cmd 提示符(其环境变量中有 Python 2.7。

我使用 setup.py cd 到该文件夹​​,然后运行 ​​python setup.py py2exe。

这应该会创建一个在 Windows 中使用的独立 exe,但看起来 ntpath.py 没有正确获取我的路径。

这似乎是一个简单的问题,但我不知道要搜索什么,尽管我尝试过。

如果有人能指出我正确的方向,我将不胜感激。

编辑:

这是Setup.py。

我运行的是 Windows 7、64 位、Python 2.7。 py2exe 是 0.6.9。金币是 1.9.7

#!/usr/bin/python

# python setup.py sdist --format=zip,gztar

from setuptools import setup
import os
import sys
import platform
import imp


version = imp.load_source('version', 'lib/version.py')
util = imp.load_source('version', 'lib/util.py')

if sys.version_info[:3] < (2, 6, 0):
sys.exit("Error: Electrum requires Python version >= 2.6.0...")

usr_share = '/usr/share'
if not os.access(usr_share, os.W_OK):
usr_share = os.getenv("XDG_DATA_HOME", os.path.join(os.getenv("HOME"), ".local", "share"))

data_files = []
if (len(sys.argv) > 1 and (sys.argv[1] == "sdist")) or (platform.system() != 'Windows' and platform.system() != 'Darwin'):
print "Including all files"
data_files += [
(os.path.join(usr_share, 'applications/'), ['electrum.desktop']),
(os.path.join(usr_share, 'app-install', 'icons/'), ['icons/electrum.png'])
]
if not os.path.exists('locale'):
os.mkdir('locale')
for lang in os.listdir('locale'):
if os.path.exists('locale/%s/LC_MESSAGES/electrum.mo' % lang):
data_files.append((os.path.join(usr_share, 'locale/%s/LC_MESSAGES' % lang), ['locale/%s/LC_MESSAGES/electrum.mo' % lang]))

appdata_dir = util.appdata_dir()
if not os.access(appdata_dir, os.W_OK):
appdata_dir = os.path.join(usr_share, "electrum")

data_files += [
(appdata_dir, ["data/README"]),
(os.path.join(appdata_dir, "cleanlook"), [
"data/cleanlook/name.cfg",
"data/cleanlook/style.css"
]),
(os.path.join(appdata_dir, "sahara"), [
"data/sahara/name.cfg",
"data/sahara/style.css"
]),
(os.path.join(appdata_dir, "dark"), [
"data/dark/background.png",
"data/dark/name.cfg",
"data/dark/style.css"
])
]


setup(
name="Electrum",
version=version.ELECTRUM_VERSION,
install_requires=['slowaes', 'ecdsa>=0.9'],
package_dir={
'electrum': 'lib',
'electrum_gui': 'gui',
'electrum_plugins': 'plugins',
},
scripts=['electrum'],
data_files=data_files,
py_modules=[
'electrum.account',
'electrum.bitcoin',
'electrum.blockchain',
'electrum.bmp',
'electrum.commands',
'electrum.i18n',
'electrum.interface',
'electrum.mnemonic',
'electrum.msqr',
'electrum.network',
'electrum.plugins',
'electrum.pyqrnative',
'electrum.simple_config',
'electrum.socks',
'electrum.transaction',
'electrum.util',
'electrum.verifier',
'electrum.version',
'electrum.wallet',
'electrum.wallet_bitkey',
'electrum.wallet_factory',
'electrum_gui.gtk',
'electrum_gui.qt.__init__',
'electrum_gui.qt.amountedit',
'electrum_gui.qt.console',
'electrum_gui.qt.history_widget',
'electrum_gui.qt.icons_rc',
'electrum_gui.qt.installwizard',
'electrum_gui.qt.lite_window',
'electrum_gui.qt.main_window',
'electrum_gui.qt.network_dialog',
'electrum_gui.qt.password_dialog',
'electrum_gui.qt.qrcodewidget',
'electrum_gui.qt.receiving_widget',
'electrum_gui.qt.seed_dialog',
'electrum_gui.qt.transaction_dialog',
'electrum_gui.qt.util',
'electrum_gui.qt.version_getter',
'electrum_gui.stdio',
'electrum_gui.text',
'electrum_plugins.aliases',
'electrum_plugins.coinbase_buyback',
'electrum_plugins.exchange_rate',
'electrum_plugins.labels',
'electrum_plugins.pointofsale',
'electrum_plugins.qrscanner',
'electrum_plugins.virtualkeyboard',
],
description="Lightweight Bitcoin Wallet",
author="ecdsa",
author_email="ecdsa@github",
license="GNU GPLv3",
url="http://electrum.org",
long_description="""Lightweight Bitcoin Wallet"""
)

最佳答案

您的 Windows 系统似乎没有“HOME”环境变量!因此,第 20 行 os.getenv('HOME') 返回 None 类型,因为“HOME”尚未在 Windows 环境中定义,而第二个未指定参数(默认为)。

我建议您使用其他替代方案:

替换:

os.path.join(os.getenv("HOME"), ".local", "share")

致:

os.path.join(os.path.expanduser("~"), ".local", "share")

在这种情况下,它将映射到 Windows 中当前用户的主目录。

os.path.expanduser

关于python - 当尝试为 Electrum 编译我自己的独立 exe 时,出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21661316/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com