【问题标题】:TideSDK error while compiling (python)编译时 TideSDK 错误(python)
【发布时间】:2016-05-21 03:22:01
【问题描述】:

我正在尝试使用 TideSDK Developer 编译应用程序,在没有备份的情况下完全重新安装 OSX (10.10.5) 后,我不得不重新安装所有应用程序,因此我下载了最新可用版本的 TideSDK Developer (1.4. 2) 并下载我一直在此应用程序上使用的 SDK (1.1.0)。

但每次编译时,我都会收到此错误:

Preparing to package and launch desktop app. One moment...
Traceback (most recent call last):
File "/Users/ricardo/Library/Application Support/TideSDK/sdk/osx/1.1.0/tibuild.py", line 112, in
app.stage(path.join(options.destination, app.name), bundle=bundle)
File     "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpath.py", line 73, in join
path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xcc in position 40: ordinal not in range(128)
Done launching!

将项目文件夹移至 Application Support/TideSDK 后,安装 Python 3.5 并为两个 Python 版本设置此权限:

export LANG="en_EN.UTF-8"
export LC_COLLATE="en_EN.UTF-8"
export LC_CTYPE="en_EN.UTF-8"
export LC_MESSAGES="en_EN.UTF-8"
export LC_MONETARY="en_EN.UTF-8"
export LC_NUMERIC="en_EN.UTF-8"
export LC_TIME="en_EN.UTF-8"
export LC_ALL=C

export PYTHONIOENCODING=utf8

现在,这是输出日志:

Traceback (most recent call last):
File "/Users/ricardo/Library/Application Support/TideSDK/sdk/osx/1.1.0/tibuild.py", line 112, in
app.stage(path.join(options.destination, app.name), bundle=bundle)
File "/Users/ricardo/Library/Application Support/TideSDK/sdk/osx/1.1.0/osx_app.py", line 16, in stage
App.stage(self, stage_dir, bundle=bundle)
File "/Users/ricardo/Library/Application Support/TideSDK/sdk/osx/1.1.0/app.py", line 161, in stage
effess.copy_to_dir(installer_source, contents, exclude=self.env.get_excludes() + ['.dll', '.msm'])
File "/Users/ricardo/Library/Application Support/TideSDK/sdk/osx/1.1.0/effess.py", line 57, in copy_to_dir
copy_to_dir_impl(*args, **kwargs)
File "/Users/ricardo/Library/Application Support/TideSDK/sdk/osx/1.1.0/effess.py", line 109, in copy_to_dir_impl
copy_item(src, dest)
File "/Users/ricardo/Library/Application Support/TideSDK/sdk/osx/1.1.0/effess.py", line 87, in copy_item
copy_items(src, dest)
File "/Users/ricardo/Library/Application Support/TideSDK/sdk/osx/1.1.0/effess.py", line 100, in copy_items
for item in os.listdir(src):
OSError: [Errno 13] Permission denied: '/Library/Application Support/Titanium/sdk/osx/1.1.0/installer'
Done launching!

【问题讨论】:

  • 我已经将项目复制到 TideSDK 文件夹,现在我得到了这个:OSError: [Errno 13] Permission denied: '/Library/Application Support/Titanium/sdk/osx/1.1.0 /installer' 完成启动!
  • 安装 Titanium SDK 1.1.0 后,得到这个:OSError: [Errno 1] Operation not permitted: '/Users/ricardo/Library/Application Support/TideSDK/myapp.proj/dist/osx/myapp.app/Contents/installer' Done launching!
  • 请注意 TideSDK 与 Appcelerator 或 Titanium 无关。我已经删除了这些标签。

标签: macos tidesdk


【解决方案1】:

您可能遇到了此处描述的问题: UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 1

在运行编译之前尝试在终端中运行它:

export LANG=en_US.UTF-8

如果您通过另一个程序(Titanium?)运行此编译,那么您可能必须编辑您的 .bash_profile(在您的主文件夹中)并包含“导出”行。在终端中运行它

nano ~/.bash_profile

并将导出添加到文件末尾。 您可能需要注销并重新登录才能使此更改在您的安装程序中生效。

P.S.:我现在在 Windows 机器上,所以我还不能测试这个。

【讨论】:

  • 感谢 Saraiva,这是 TideSDK,一个使用 Titanium Desktop 开发的应用程序创建 .dmg 文件的程序(已弃用):/ 所以我必须在 Mac 的终端上运行它对吗?
  • 是的。使用 nano 在终端中编辑文件,或在 TextEdit 中打开 .bash_profile(或在终端中输入“open .bash_profile”),然后将该导出行添加到文件末尾。
  • 还是不行,我已经安装了2.7的python版本。我会尝试 3.5
  • export LANG="en_EN.UTF-8" export LC_COLLATE="en_EN.UTF-8" export LC_CTYPE="en_EN.UTF-8" export LC_MESSAGES="en_EN.UTF-8" export LC_MONETARY ="en_EN.UTF-8" export LC_NUMERIC="en_EN.UTF-8" export LC_TIME="en_EN.UTF-8" export LC_ALL=C export PYTHONIOENCODING=utf8
  • 下载 Titanium SDK 1.1.0 来自:api.appcelerator.net/p/v2/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2017-08-03
  • 2014-02-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多