V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
chinajik
V2EX  ›  Python

python 项目如何迁移到没有 root 权限的机器上跑

  •  
  •   chinajik ·
    jik1992 · 2015-12-02 14:30:15 +08:00 · 2895 次点击
    这是一个创建于 3268 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本地机器 A , 写一个数据库更新的脚本依赖 mysql 模块。

    迁移到生产线机器 B , 没有 pip ,没有 setuptools , 没有 root 权限,没有 mysql 模块..

    virualenv 试过了,说找不到 CGLIB_2.14 (required by ./python2.7)

    蛋疼了..

    第 1 条附言  ·  2015-12-02 17:12:04 +08:00
    看不过来了... 先一个个试试.. = =
    看你们好像解决方案很多的样子..
    第 2 条附言  ·  2015-12-09 11:38:41 +08:00
    服务器上的版本是 2.6..

    我现在使用 pyenv 绕过 root 的问题了,暂时没有大问题
    第 3 条附言  ·  2015-12-31 11:51:08 +08:00
    Anaconda3 是一个非常好的 python 发行包,里面编译好了一个完整的 python3 和 notebook 而且绕过 root 权限, conda 命令安装包体验非常好。
    9 条回复    2015-12-02 20:37:50 +08:00
    msg7086
        1
    msg7086  
       2015-12-02 14:55:39 +08:00
    没有 root 不可怕,依赖不够才是大问题。
    est
        2
    est  
       2015-12-02 15:23:19 +08:00
    没 root 不可怕。可怕的是只有 python 2.6 。 virtualenv 也帮不了忙。
    VYSE
        3
    VYSE  
       2015-12-02 15:27:00 +08:00
    GLIBC_2.14 (required by ./python2.7)明显是在高版本 GLIBC LINUX 下编译的 executable 放到 CENTOS 6 这种带 2.12 的 GLIBC 的系统下跑导致的。
    PYTHON 和用 C EXT 的库都得在相同环境下编译拿来用,不然就麻烦些改运行时的 LD_LIBRARY 用 FEDORA 15 的 2.13.90 版本 GLIBC 全套。

    不过你还是用 ACTIVEPYTHON 和他家的 PYPM 装库吧,不行再编译
    wlsnx
        4
    wlsnx  
       2015-12-02 15:28:48 +08:00
    你试试用 pyenv 编译一个 2.7 的,再在 pypi.python.org 下载 get-pip.py 安装 pip 。这样就可以在没有 root 权限的情况下使用 python2.7 和 pip 了。
    参考 https://github.com/yyuu/pyenvhttps://pip.pypa.io/en/latest/installing/
    iyaozhen
        5
    iyaozhen  
       2015-12-02 15:29:38 +08:00
    自带 python 环境。生产线的机器系统一般都一样。一个包,到处用
    blank4me
        6
    blank4me  
       2015-12-02 15:35:19 +08:00
    https://pypi.python.org/pypi/bbfreeze
    用这个可以自动识别依赖,打包出一个可以直接运行的 python 出来。
    但是这个 python 只保证能跑你的程序,而且修改.py 不会生效,需要重新打包。
    P0P
        7
    P0P  
       2015-12-02 15:39:31 +08:00
    试一下 anaconda 封装的 python( https://www.continuum.io/downloads), 里面带了一些它自己的 c 拓展。
    Zzzzzzzzz
        8
    Zzzzzzzzz  
       2015-12-02 15:40:29 +08:00
    A 机器 pip freeze 导出包名, B 用普通用户编译一个和 A 相同版本的 python, 装好 pip 后再安装这些库, 没 root 不要紧的.

    glibc 不一致打包或者 virtualenv 目录迁移都是不行的。
    tinyproxy
        9
    tinyproxy  
       2015-12-02 20:37:50 +08:00
    求管理员装个 docker
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5867 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 02:36 · PVG 10:36 · LAX 18:36 · JFK 21:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.