当前位置:首页 » 编程语言 » ubuntupython服务器

ubuntupython服务器

发布时间: 2022-04-25 01:58:13

A. 如何在ubuntu上安装python

主要讲解的时ubuntu系统下,安装python
工具/原料
ubuntu系统(当然也可以是虚拟机)
python安装包
方法/步骤
python安装包的下载:http://111.13.109.34:83//www.python.org/ftp/python/3.3.3/Python-3.3.3.tgz
或者自己去官网下:http://www.python.org/getit/

下载完成之后,把文件放在linux系统中,放到自己容易到的文件夹下面

之后把tgz文件进行解压:可以鼠标操作,也可以用命令:
tar -xzvf ******.tgz (用Tab键来提示也可以),解压之后,如上图:会有一个文件夹
下面就开始自己编译安装了:
命令如下:./configure --prefix=${pwd}
注:prefix=${pwd}指定文件夹
上面运行完之后,再运行命令:make
make运行完成之后(图),

然后再运行命令:sudo make install
注意如果只允许make install的话,会报错,提示没有权限,错误如图

之后会在当前文件夹下面找到一个名为python的可执行文件。然后将当前文件夹的路径放到环境变量path中,就大功告成了。
命令:
sudo grdit /etc/profile
在文件末尾加上你自己的路径
PATH="$PATH:/自己的路径/Python-3.3.3"
export PATH

例如:PATH="$PATH:/home/cloud/Music/Python-3.3.3"

步骤阅读
下面就算完成了。在终端输入python就可以写python了

B. 利用python,调取ubuntu中的log到本地服务器中。

这个可以不用脚本。直接用SHELL脚本就可以。 不过因为要跨服务器。最好解决登陆问题。或者是免登陆。或者是用一个工具解决。 如果一定要用python也成。似乎有一个包,可以SSH登陆。登陆后还可以复制文件。你先复制到本地,再提取内容。用正则表达式提取。最后再添加。

如果文件太大。你可以先SSH登陆,然后传送一个脚本过去。让脚本在那个服务器上提取,再把提取结果复制回来,清理痕迹后,回到自己服务器再合并。

C. 如何搭建python环境

1、说明:windows下设置python环境变量,就是把python的安装目录添加到系统path中。2、步骤:1)确定python安装目录,根据版本不同安装目录也不同,可以在开始菜单中的快捷方式中查看。在python快捷方式上点右键,属性菜单

3、注意事项:如果未出现python结果,则需要检查路径是否设置正确,并重新启动一下计算机即可。

D. ubuntu下怎么build一个完整的python

我们需要一个一个编译这些包:
1. common.sh:这个文件里包含一些基础设置,比如选用的GCC,CFLAGS和LDFLAGS如何配置。

[plain] view plain
export NDKDIR="/你的NDK路径比如/android-ndk-r10c"
# GCC 版本选用,目前有4.6,4.8,4.9,选用时也注意Linux系统的类型,这里x86_64是六十四位
export COMPILER="$NDKDIR/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin"
export CC="$COMPILER/arm-linux-androideabi-gcc"
export CXX="$COMPILER/arm-linux-androideabi-g++"
export CPP="$COMPILER/arm-linux-androideabi-cpp"
export LD="$COMPILER/arm-linux-androideabi-ld"
export AS="$COMPILER/arm-linux-androideabi-as"
export AR="$COMPILER/arm-linux-androideabi-ar"
export STRIP="$COMPILER/arm-linux-androideabi-strip"
export OBJCOPY="$COMPILER/arm-linux-androideabi-obj"
export OBJDUMP="$COMPILER/arm-linux-androideabi-objmp"
export RANLIB="$COMPILER/arm-linux-androideabi-ranlib"
export NM="$COMPILER/arm-linux-androideabi-nm"
export STRINGS="$COMPILER/arm-linux-androideabi-strings"
export READELF="$COMPILER/arm-linux-androideabi-readelf"

# 选择要编译文件在哪个Android版本上使用,这里案例是在Android 4.2上使用,就是android 17;2.2对应Android 8,5.0对应Android 21
export ANDROID="$NDKDIR/platforms/android-17/arch-arm/usr"
# 配置系统头文件和库文件位置
export CFLAGS="-I$ANDROID/include --sysroot=$ANDROID"
export CXXFLAGS="-I$ANDROID/include --sysroot=$ANDROID"
export CPPFLAGS="-I$ANDROID/include"
export LDFLAGS="-L$ANDROID/lib"

2. 编译openssl:

[plain] view plain
tar zxf openssl-1.0.1j.tar.gz
cd openssl-1.0.1j
mkdir dist

source common.sh
MACHINE=armv7 SYSTEM=android ./config -fPIC --prefix=./dist

# 在Makefile里做一些补丁,以防error
sed -i "s|-m64||" Makefile
sed -i "s|-Wall|-Wall --sysroot=$ANDROID|" Makefile

# 编译并安装
make
make install

3. 编译ncurses,readline,sqlite

仿照openssl的方法,编译另外三个库;其实还有一个zlib需要编译,当然后面不让python支持bz2就可以忽略。
注意readline编译最好选择--with-curses,然后把编译好的ncurses链接上。库类文件编译,尽量都加-fPIC,这是什么,不从汇编说还真说不清楚,还是大家自己去看官方文档吧。
对于localeconv的问题,大家最好改写下那个locale.h,在里面把localeconv的struct里fix放上你要的字符,比如decimal_point是".",这样后面都不会出这类locale的问题了。
这里给出快捷的解决方案就是把localeconv干掉,直接hardcode:

[plain] view plain
# 在ncurses编译之前,需要打的补丁
sed -i "s/#define isDecimalPoint(c) .*/#define isDecimalPoint(c) ((c) == '.')/" form/fty_num.c
sed -i "s/localeconv()/NULL/" form/fty_num.c

[plain] view plain
# 编译ncurses
./configure --prefix=/YourPath --disable-home-terminfo --without-ada
make
make install
[plain] view plain
# 编译readline
./configure --prefix=/YourPath --host=arm-linux --build=x86_64-linux \
--enable-static --enable-shared --with-curses
make
make install
[plain] view plain
# 编译sqlite
./configure --host=arm-linux --build=x86_64-linux
make
make install
4. 编译Python:
其实过程整体和openssl没有什么区别,细节上有一些注意事项。
- configure文件是需要手动fix的,打开文件,搜索 ac_cv_file__dev_ptmx 和 ac_cv_file__dev_ptc;删除对这两个变量的自动判断。手动去Android查看/dev文件夹里有没有ptmx和ptc设备,有就设置为yes没就no:

[plain] view plain
ac_cv_file__dev_ptmx=yes
ac_cv_file__dev_ptc=no

- 打开Moles/Setup.dist文件,把需要的python模块前面的#去掉,比如#_socket socketmole.c timemole.c,要python支持网络socket接口,需要把#去掉;建议尽量多加一些包;实在编译不过的包不要,有些模块需要额外下载开源软件库编译,就不只openssl,ncurses,readline,sqlite了。

这样就可以configure 了:

[plain] view plain
./configure --host=arm-unknown-linux-gnu --build=x86_64-unknown-linux-gnu \
--enable-ipv6

- 有一段编译会报错,仔细检查,发现python需要编译一个程序,这个程序跑在host上,但gcc是arm的,host linux是x86_64的,所以我们需要复制一份解压好的python代码,然后用本地原有的gcc编译;当然编译时直接./configure && make就可以了,直到Parser文件夹下出现了pgen这个可执行文件;把它拿出来,复制到另一个python源码的Parser文件夹中,修改Makefile:

[plain] view plain
sed -i "s|\$(PGEN):.*|\$(PGEN):|" Makefile
sed -i "s|\$(CC) \$(OPT) \$(LDFLAGS) \$(PGENOBJS) \$(LIBS) -o \$(PGEN)|echo \"fake Parser/pgen\"|" Makefile
- 解决locale的问题,还有一些常量问题,笨方法hardcode:

[plain] view plain
sed -i "s|.*localeconv().*||" Objects/stringlib/localeutil.h
sed -i "s|locale_data->grouping|\"\"|" Objects/stringlib/localeutil.h
sed -i "s|locale_data->thousands_sep|\"\"|" Objects/stringlib/localeutil.h
sed -i "s|.*localeconv().*||" Objects/stringlib/formatter.h
sed -i "s|locale_data->grouping|\"\"|" Objects/stringlib/formatter.h
sed -i "s|locale_data->thousands_sep|\"\"|" Objects/stringlib/formatter.h
sed -i "s|locale_data->decimal_point|\".\"|" Objects/stringlib/formatter.h
sed -i "s|.*localeconv().*||" Python/pystrtod.c
sed -i "s|locale_data->decimal_point|\".\"|" Python/pystrtod.c
sed -i "s|I_PUSH|0x5302|" Moles/posixmole.c
sed -i "s|p->pw_gecos|\"\"|" Moles/pwdmole.c

- Moles/socketmole.c: 需要去掉一些#if,不然头文件里没有定义,或者直接去$ANDROID的include文件夹把相应.h文件补充完整也可以。

[cpp] view plain
...
Py_BEGIN_ALLOW_THREADS
#ifdef USE_GETHOSTBYNAME_LOCK
PyThread_acquire_lock(netdb_lock, 1);
#endif
h = gethostbyaddr(ap, al, af);
Py_END_ALLOW_THREADS
ret = gethost_common(h, (struct sockaddr *)&addr, sizeof(addr), af);
#ifdef USE_GETHOSTBYNAME_LOCK
PyThread_release_lock(netdb_lock);
#endif
return ret;
...

make然后make -i install,好啦,python编译出来啦!

下面就是放到android上跑了。
需要Android是root的,不root也可以,就是得找个地方放。
需要把python编译好的文件夹打包放到android上,还有sqlite里的那个so文件。
root的话可以在/system/bin里软链接一个python。当然,sqlite.so.3要放在/system/lib里。
其实sqlite是可以不编译的,但是我们的Django需要它,所以还是弄出来吧,ssl也可以不用,但是为了服务器支持https,还是编译下吧。
这样就可以运行python了。

[html] view plain
# python
>>> 1+2
3
然后下载setuptools (https://pypi.python.org/pypi/setuptools/7.0) 和 pip (https://pypi.python.org/pypi/pip/1.5.6) 解压并安装:

[plain] view plain
gzip -d setuptools-7.0.tar.gz
tar xf setuptools-7.0.tar
cd setuptools-7.0
python setup.py build
python setup.py install

gzip -d pip-1.5.6.tar.gz
tar xf pip-1.5.6.tar
cd pip-1.5.6
python setup.py build
python setup.py install
把pip软链接到/system/bin。好了,python有了pip,哈哈,随心安装包吧。先来个pip install virtualenv
接下去可以安装django django-sslserver,把django-admin软链接到/system/bin,就可以写网站啦:

[plain] view plain
django-admin startproject test001
cd test001
python manage.py migrate
python manage.py runserver 0.0.0.0:8000
不安装django也可以直接对一个文件夹提供http服务:

[plain] view plain
python -m SimpleHTTPServer

有了server,在家庭里就可以搭建平台啦,如果有多个手机,连上wifi,就可以不用接线,完成无线分布式服务器,赶快练习loadbalance吧。

嗯嗯,看看需不需要用手机服务器随时监控家里的活动,然后插上SIM卡还能自动给我发短信,嘿嘿。

后面我们来想象怎么解决pip install有时需要编译c文件的问题。其实有团队已经解决了这个问题。
下载Droid for GCC plugin的apk:http://www.liqucn.com/rj/228351.shtml (这个不是官网,最好去google play下载)
把apk解压,然后找到gcc的压缩包,里面就有gcc了,把它放到Android上:

[plain] view plain
#include <stdio.h>
int main() {
printf("hello world!\n");
return 0;
}
然后gcc -o test test.c,并运行./test,完美输出hello world。赶紧软链接到/system/bin里吧。
好了,这样numpy都可以编译安装了。还可以编译下erl,把rabbitmq编译下,弄个分布式也不是问题。最好移植一下lxc,然后把raspberry里的arm版java搬过来就无敌啦。买个USBminiB转RJ45的头就可以插网线了。

总体来说,可以搭建移动服务器了,以后写一些网页版小应用,想用的时候android开个热点,电脑一连,开始enjoy!

E. 64位的ubuntu,64位的python3.6.9环境下,pycharm无法安装pyqt5-tools==5.11.3.1.4

这里报错的提示是,没有找到5.12.2匹配的版本,也就是说,服务器上没有5.12.2这个版本的pyqt5-tools,你可以尝试先尝试安装不带版本号的,看它默认安装的是什么版本,命令是:
pip install pyqt5-tools
如果自动安装的版本和这个版本差异不大,那么就可以直接使用的。如果版本差异太大,就打开国内的pip源地址,然后使用浏览器搜索功能,查找对应的软件包名字,然后就可以看到所有版本的pyqt5-tools,找一个和5.12.2版本最接近的即可。
不知道我讲清楚了没有,希望可以帮助到你。

F. 如何配置ubuntu python

1.Python下载

Python下载

地址: http://www.python.org/getit/

版本: Python-2.7.3.tgz

setuptoos下载

地址:http://pypi.python.org/pypi/setuptools#downloads

版本:setuptools-0.6c11.tar.gz(md5)

采用wget方式下载:
wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=

2.安装Python

查看系统自带的python:

计划安装2.7.3,新建目录--下载安装包:

解压
tar -zvxf Python-2.7.3.tgz

解压后,安装Python:

./configure --prefix=/usr/local/python2.7.3
make
make install

安装成功后目录为:

建立软链接:

3.安装setuptools

采用wget下载:
[root@biao Python-2.7.3]# pwd
/python/Python-2.7.3
[root@biao Python-2.7.3]# cd ..
[root@biao python]# ll
total 13832
drwxr-x--- 18 1000 1002 4096 Dec 5 18:05 Python-2.7.3
-rwxr-xr-x 1 root root 14135620 Dec 5 17:42 Python-2.7.3.tgz
[root@biao python]# wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=
--18:18:59-- http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
Resolving pypi.python.org... 140.211.10.73
Connecting to pypi.python.org|140.211.10.73|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 256862 (251K) [application/octet-stream]
Saving to: `setuptools-0.6c11.tar.gz'
100%[======================================================================] 256,862 126K/s in 2.0s 18:19:25 (126 KB/s) - `setuptools-0.6c11.tar.gz' saved [256862/256862]

图片贴起来有点烦,请自行查看http://www.linuxprobe.com/python2-7-install.html这篇技术文章吧。。

G. 如何在Ubuntu 16.04上安装Anaconda Python Distribution

介绍
Anaconda是一个开源的包管理器,环境管理器,以及Python和R编程语言的分发。它通常用于大规模数据处理,科学计算和预测分析,为数据科学家,开发人员,业务分析师和在DevOps中工作的人员服务。
Anaconda提供超过720个开源包的集合,并提供免费和付费版本。 Anaconda分发带有conda命令行实用程序。 您可以通过阅读Anaconda文档页面了解有关Anaconda和conda的更多信息 。
本教程将指导您在Ubuntu 16.04服务器上安装Anaconda的Python 3版本。
先决条件
在开始本指南之前,您应该有一个非root用户在您的服务器上设置sudo权限。您可以通过完成我们的Ubuntu 16.04初始服务器设置指南来学习如何做到这一点。
安装Anaconda
安装Anaconda的最佳方法是下载最新的Anaconda安装程序bash脚本,验证它,然后运行它。
在Anaconda下载页面找到最新版本的Anaconda for Python 3。在写作的时候,最新的版本是4.2.0,但你应该使用一个更稳定的版本,如果它可用。
接下来,切换到服务器上的/tmp 。这是一个很好的目录下载临时项目,如Anaconda bash脚本,我们不需要运行它之后。
cd /tmp

H. 如何重置 Ubuntu 14.04 的 Python 环境

如何重置 Ubuntu 14.04 的 Python 环境
R和Python:数字的比较在网上可以经常看到比较R和Python人气的数字,虽然这些数字往往就这两种语言是如何在计算机科学的整体生态系统不断发展,但是很难并列进行比较。主要的原因是,R仅在数据科学的环境中使用,而Python作为一种通用语言,被广泛应用于许多领域,如网络的发展。这往往导致排名结果偏向于Python,而且从业者工资会较低。R如何使用?R主要用于当数据分析任务需要独立的计算或分析单个服务器。这是探索性的工作,因为R有很多包和随时可用的测试,可以提供提供必要的工具,快速启动和运行的数量庞大几乎任何类型的数据分析。R甚至可以是一个大数据解决方案的一部分。
当开始使用R的时候,最好首先安装RStudio IDE。之后建议你看看下面的流行包:
•dplyr, plyr 和 data.table 可以轻松操作包•stringr 操作字符串•zoo做定期和不定期的时间序列工作•ggvis, lattice, and ggplot2 进行数据可视化•caret 机器学习

I. 我的Ubuntu 16.04 怎么还是 Python 2.7.11

桌面版的是 python2 ,服务器的是 python3 ,记得他们是这样说。毕竟要跟上流统一
别去改桌面发行版自带的默认 python 版本, 不然早晚一堆坑.
要默认 python3 动自己的~/.profile 或者~/bin 比较好.

J. 如何在ubuntu中命令行关闭python socket服务器

本文介绍下,在solaris 系统下,python socket server重启后,提示端口被占用,telnet端口失败。这里给出一个解决方法,有需要的朋友参考下。
在solaris 系统下,socket server被重启后,提示端口被占用,telnet端口又是不成功的,说明服务已被关闭。
通过netstat可以看到端口还处于于fin_wait_2状态,solaris要4分钟才能关闭。
遇到这个问题时,可以采用如下的方法解决,以减少等待时间。
1,加上s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)。
代码:

复制代码代码示例:
self.host=socket.gethostbyname(socket.gethostname())
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((self.host,self.port))
s.listen(5)
2,修改系统fin_wait,time_wait的时间设置。这个时间改短,也利于系统系能。
修改方法
查看或设置:
使用get命令来确定当前时间间隔,并使用set命令将时间间隔指定为30秒。
例如:

复制代码代码示例:
ndd -get /dev/tcp tcp_time_wait_interval
ndd -set /dev/tcp tcp_time_wait_interval 30000
缺省值:对于 Solaris 操作系统,缺省等待时间间隔为 240000 毫秒(即 4 分钟)。
建议值:60000 毫秒。
Solaris TCP_FIN_WAIT_2_FLUSH_INTERVAL
描述:
指定禁止处于FIN_WAIT_2状态的连接保持该状态的计时器时间间隔。
当连接比率较高时,这将累积大量的TCP/IP连接,从而导致服务器性能下降。在高峰时间段,服务器会发 生延迟。
如果服务器延迟,netstat命令显示对HTTP Server打开的许多套接字处于CLOSE_WAIT或FIN_WAIT_2状态。
明显的延迟可能会长达4分钟,其间服务器无法发送任何响应,但是CPU利用率保持很高,所有活动都在系统进程中。
查看和设置:
使用get命令来确定当前时间间隔,并使用set命令将时间间隔指定为67.5秒。
例如:

热点内容
服务器和网关ip 发布:2025-07-16 17:09:35 浏览:929
如何用net映射服务器盘符 发布:2025-07-16 17:08:50 浏览:12
小飞机android 发布:2025-07-16 16:51:00 浏览:235
python获取api 发布:2025-07-16 16:35:28 浏览:739
安卓应用耗电优化是什么 发布:2025-07-16 16:29:39 浏览:501
惠普电脑都有什么配置的 发布:2025-07-16 15:51:49 浏览:520
hadoop编译native 发布:2025-07-16 15:48:57 浏览:256
checksum的算法 发布:2025-07-16 15:48:50 浏览:846
jqueryeasyui上传 发布:2025-07-16 15:40:06 浏览:470
linux程序设计第4版pdf 发布:2025-07-16 14:52:14 浏览:515