我正在尝试让cx_freeze
在我必须使用的Solaris工作站上工作,以便从我拥有的Python脚本生成可执行文件。问题是,我不是这台机器的管理员,并且cx_freeze
请求的安装写入了site-packages,这对我来说是只读的。
所以,显然,我收到了这个错误:
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
从我的主文件夹执行?
编辑我看了at site.py documentation,PYTHONPATH
填充应该相当于使用site-packages
。所以我的问题现在更像是:添加到PYTHONPATH
的路径是什么,以便cx_freeze
可以从任何位置执行?
注意:
virtualenv
,因为我已经在努力理解可执行工具...... site-packages
文件夹,而且它不是特定于用户的; /home/xxxx/cx_freeze-4.2.3/build/lib.solaris-2.10-sun4v-2.6
; PyInstaller
但是存在依赖性问题(管理员并没有真正帮助我)。答案 0 :(得分:3)
这对我来说就像一个魅力:
$ python setup.py install --home=$HOME
在找到on the Sourceforge download page的cx_freeze的源目录中运行。