python26安装
① gevent怎么编译
在gevent中主要使用Greenlet,给python提供一个轻量级的协同程序,作为一个C的扩展模
块.Greenlets主程序运行的所有系统进程是合理安排的.
这不同于任何multiprocessing或者multithreading提供的库和POSIX线程,这是真正的并行多处理器或多线程库提供真正的并
行结构
首先感谢https://maskv.com/technology/192.html作者给我的帮助我参考老方法编译gevent1.0rc2成功但是无法运行Goagent最新版只能运行2.17原因就是缺少python2.7的支持现在博主给出啦方法搬过来方便大家
Tomato中python2.7+gevent1.0rc2环境的搭建
之前因为没有搜索到在Tomato中编译安装gevent的教程,就自己琢磨出来Tomato中python2.6+gevent0.13.8环境的搭建方法(点击这里查看),
文章发布之后收到了众多的反馈。虽然Python官网当中的gevent最新版本为0.13.8,但Github上的gevent源码已经更新到了
1.0rc2,最新版的Goagent本地客户端也集成的是gevent1.0rc2,在整合了一些反馈之后,在自己的路由器上成功更新了python和
gevent。
首先卸载路由当中的python2.6及其相关组件,运行:
ipkg -force-removal-of-dependent-packages remove python26
rm -rf /opt/local/lib/python2.6 #若挂载路径非/opt请自行修改
rm -rf /opt/lib/python2.6
之后更新、安装所需要的依赖包:
ipkg update
ipkg upgrade
ipkg install busybox buildroot make grep openssl openssl-dev libuclibc++ wget-ssl python27 py27-setuptools
安装完成之后,我们要修复几个py27-setuptools当中的小错误。
首先easy_install的安装路径莫名其妙的指向了python2.5,不知是否只有我遇到了这个问题。修改 /opt/lib/python2.7/distutils/distutils.cfg 文件,将
1
site-dirs = /opt/local/lib/python2.5/site-packages
修改为
1
site-dirs = /opt/local/lib/python2.7/site-packages
其次easy_install的安装临时目录指向了/tmp目录,会造成安装某些组件时tmp剩余空间不足而导致的安装失败,我们要手动将其指定到挂载的U盘当中。
在/opt中创建tmp文件夹,修改 /opt/lib/python2.7/site-packages/setuptools/command/easy_install.py 文件,找到412行:
1
tmpdir = tempfile.mkdtemp(prefix="easy_install-")
将其修改为:
1
tmpdir = tempfile.mkdtemp(prefix="easy_install-",dir="/opt/tmp")
然后就可以使用easy_install安装greenlet与cython了(此步骤花费时间奇长无比):
easy_install-2.7 greenlet
easy_install-2.7 cython
ln -s /opt/local/bin/cygdb /opt/bin/cygdb
ln -s /opt/local/bin/cython /opt/bin/cython
之后下载gevent:
cd /opt
/opt/bin/wget https://github.com/downloads/Sit ... event-1.0rc2.tar.gz --no-check-certificate
tar zxvf gevent-1.0rc2.tar.gz
cd gevent-1.0rc2
直接编译会报错,因为使用了mips2的sync指令,在Goagent的issues上找到了答案。心得编译前记得开启虚拟内存
修改 /libev/ev.c 文件,找到604行的:参考https://code.google.com/p/goagent/issues/detail?id=7823
1
#define ECB_MEMORY_FENCE __asm__ __volatile__ ("sync" : : : "memory")
修改为:
#define ECB_MEMORY_FENCE __asm__ __volatile__ (".set mips2; sync; .set mips0": : :"memory")
执行
python2.7 setup.py install
下载并安装pyOpenSSL
cd /opt
wget http://pypi.python.org/packages/source/p/pyOpenSSL/pyOpenSSL-0.12.tar.gz
tar zxvf pyOpenSSL-0.12.tar.gz
cd pyOpenSSL-0.12
python2.7 setup.py install
安装结束之后,运行Goagent可能会提示.python-eggs错误,我们可以手动指定缓存目录。
修改Goagent的proxy.py文件,在:
1
import os
下一行添加:
1
os.environ['PYTHON_EGG_CACHE'] = '/opt/.python-eggs'
或者可以将 gevent-1.0rc2-py2.7-linux-mips.egg 解包:
cd /opt/local/lib/python2.7/site-packages
mv gevent-1.0rc2-py2.7-linux-mips.egg gevent-1.0rc2-py2.7-linux-mips.egg.zip
mkdir gevent-1.0rc2-py2.7-linux-mips.egg
cd gevent-1.0rc2-py2.7-linux-mips.egg
unzip /opt/local/lib/python2.7/site-packages/gevent-1.0rc2-py2.7-linux-mips.egg.zip
再次运行Goagent,应该不会再有错误提示了。
② 丢失python26.dll怎么办
python26.dll出错,极有可能是盗号木马、流氓软件等恶意程序所导致。先杀个毒。
解决办法:
一、如果您的系统提示“没有找到python26.dll”或者“缺少python26.dll”等类似错误信息,请把python26.dll(网络有)下载到本机
二、直接拷贝该文件到系统目录里:
Windows XP \ 7系统,则复制到C:Windows\System32目录下。
三、然后打开“开始-运行-输入regsvr32 python26.dll”,回车即可解决错误提示!
③ 安装python26 setuptools出现权限问题
没有写权限在C:\Program Files\Python26\Lib\site-packages.
你看看这个目录是否存在,如果存在到这个目录下创建一个文件试试,看看能成功不。如果没有权限,你可以重新python安装到你有权限的目录里。
如果解决了您的问题请采纳!
如果未解决请继续追问