2

我目前正在尝试cx_freeze在我必须使用的 Solaris 工作站上工作,以便从我拥有的 Python 脚本制作可执行文件。问题是,我不是这台机器的管理员,并且cx_freeze请求的安装写入站点包,这对我来说是只读的。

所以,很明显,我得到了这个错误:

creating /usr/local/lib/python2.6/site-packages/cx_Freeze
error: could not create '/usr/local/lib/python2.6/site-packages/cx_Freeze': Read-only file system

如果我尝试运行它,它会失败:

bash-3.00$ python /home/xxxx/cx_freeze-4.2.3/cxfreeze --target-dir cx_dist src/p_tool.py
Traceback (most recent call last):
  File "/home/xxxx/cx_freeze-4.2.3/cxfreeze", line 5, in <module>
    main()
  File "/home/xxxx/cx_freeze-4.2.3/cx_Freeze/main.py", line 187, in main
    silent = options.silent)
  File "/home/xxxx/cx_freeze-4.2.3/cx_Freeze/freezer.py", line 91, in __init__
    self._VerifyConfiguration()
  File "/home/xxxx/cx_freeze-4.2.3/cx_Freeze/freezer.py", line 371, in _VerifyConfiguration
    self._GetInitScriptFileName()
  File "/home/xxxx/cx_freeze-4.2.3/cx_Freeze/freezer.py", line 283, in _GetInitScriptFileName
    raise ConfigError("no initscript named %s", name)
cx_Freeze.freezer.ConfigError: no initscript named Console

显然,这与安装失败有关。所以,这是我的问题:

如果没有安装virtualenv,我可以避免写入site-packages,并cx_freeze从我的主文件夹执行吗?


编辑我查看了 site.py 文档PYTHONPATH填充应该等同于使用site-packages. 所以我的问题现在更像是:要添加到的路径是什么PYTHONPATH,以便cx_freeze可以从任何位置执行?


笔记:

  • 我想避免处理virtualenv,因为我已经在努力理解可执行工具......
  • 我看到了这个问题,但这仍然需要访问site-packages文件夹,而且它不是特定于用户的;
  • 我尝试将以下路径添加到 PYTHONPATH,但这不起作用/home/xxxx/cx_freeze-4.2.3/build/lib.solaris-2.10-sun4v-2.6
  • 我也在尝试使用PyInstaller但有依赖问题(管理员并没有真正帮助我)。
4

1 回答 1

3

这对我来说就像一个魅力:

$ python setup.py install --home=$HOME

在 Sourceforge 下载页面上找到的 cx_freeze 源目录中运行。

于 2011-12-11T10:57:16.653 回答