pkg_resources.ExtractionError: Can't extract file(s) to egg cache 解决办法

在Debian服务器上以root权限运行Python脚本时遇到pkg_resources.ExtractionError,错误显示无访问权限。为解决此问题,可以参考David Walsh的文章来解决Python eggs的提取权限问题。

在debian服务器上以root权限执行python时候脚本时候。

得到如下错误

Traceback (most recent call last):
  File "server.py", line 10, in <module>
    from logic import Logic
  File "/var/opt/sameway/chatserver/logic.py", line 9, in <module>
    from db import DBEngine , DBUser , DBRelationship, DBOfflineMsg, DBOfflineAddFriend
  File "/var/opt/sameway/chatserver/db.py", line 5, in <module>
    import sqlalchemy
  File "build/bdist.linux-i686/egg/sqlalchemy/__init__.py", line 50, in <module>
    
  File "build/bdist.linux-i686/egg/sqlalchemy/types.py", line 26, in <module>
    
  File "build/bdist.linux-i686/egg/sqlalchemy/processors.py", line 109, in <module>
  File "build/bdist.linux-i686/egg/sqlalchemy/cprocessors.py", line 7, in <module>
  File "build/bdist.linux-i686/egg/sqlalchemy/cprocessors.py", line 4, in __bootstrap__
  File "build/bdist.linux-i686/egg/pkg_resources.py", line 914, in resource_filename
    """Return specified resource as a string"""
  File "build/bdist.linux-i686/egg/pkg_resources.py", line 1601, in get_resource_filename
    subname = fullname.split(".")[-1]
  File "build/bdist.linux-i686/egg/pkg_resources.py", line 1657, in _extract_resource
    try:
  File "build/bdist.linux-i686/egg/pkg_resources.py", line 960, in extraction_error
    
pkg_resources.ExtractionError: Can't extract file(s) to egg cache

The following error occurred while trying to extract file(s) to the Python egg
cache:

  [Errno 2] No such file or directory: '/root/.python-eggs'

The Python egg cache directory is currently set to:

  /root/.python-eggs

Perhaps your account does not have write access to this directory?  You can
change the cache directory by setting the PYTHON_EGG_CACHE environment
variable to point to an accessible directory.

从错误得知是导入sqlalchemy问题

下面提示是无访问权限

google得到解决方案http://davidwalsh.name/python-eggs


解决方法

import sqlalchemy

修改为

import os
os.environ['PYTHON_EGG_CACHE'] = '/tmp'
import sqlalchemy


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值