导航:首页 > 编程语言 > rpath地址python

rpath地址python

发布时间:2022-05-19 17:44:19

Ⅰ 如何通过VBA,获得本文件所在的文件夹路径。

Subs()
Dimpth$
pth=ThisWorkbook.Path
MsgBox"本文件的路径为:"&pth
EndSub

python tensorflow 怎么添加auc

tensorflow添加自定义的auc计算operator
tensorflow可以很方便的添加用户自定义的operator(如果不添加也可以采用sklearn的auc计算函数或者自己写一个 但是会在python执行,这里希望在graph中也就是c++端执行这个计算)
这里根据工作需要添加一个计算auc的operator,只给出最简单实现,后续高级功能还是参考官方wiki
注意tensorflow现在和最初的官方wiki有变化,原wiki貌似是需要重新bazel编译整个tensorflow,然后使用比如tf.user_op.auc这样。
目前wiki给出的方式>=0.6.0版本,采用plug-in的方式,更加灵活可以直接用g++编译一个so载入,解耦合,省去了编译tensorflow过程,即插即用。

首先auc的operator计算的文件

tensorflow/core/user_ops/auc.cc

/* Copyright 2015 Google Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/

// An auc Op.

#include "tensorflow/core/framework/op.h"
#include "tensorflow/core/framework/op_kernel.h"

using namespace tensorflow;
using std::vector;
//@TODO add weight as optional input
REGISTER_OP("Auc")
.Input("predicts: T1")
.Input("labels: T2")
.Output("z: float")
.Attr("T1: {float, double}")
.Attr("T2: {float, double}")
//.Attr("T1: {float, double}")
//.Attr("T2: {int32, int64}")
.SetIsCommutative()
.Doc(R"doc(
Given preidicts and labels output it's auc
)doc");

class AucOp : public OpKernel {
public:
explicit AucOp(OpKernelConstruction* context) : OpKernel(context) {}

template<typename ValueVec>
void index_sort(const ValueVec& valueVec, vector<int>& indexVec)
{
indexVec.resize(valueVec.size());
for (size_t i = 0; i < indexVec.size(); i++)
{
indexVec[i] = i;
}
std::sort(indexVec.begin(), indexVec.end(),
[&valueVec](const int l, const int r) { return valueVec(l) > valueVec(r); });
}

void Compute(OpKernelContext* context) override {
// Grab the input tensor
const Tensor& predicts_tensor = context->input(0);
const Tensor& labels_tensor = context->input(1);
auto predicts = predicts_tensor.flat<float>(); //输入能接受float double那么这里如何都处理?
auto labels = labels_tensor.flat<float>();

vector<int> indexes;
index_sort(predicts, indexes);
typedef float Float;

Float oldFalsePos = 0;
Float oldTruePos = 0;
Float falsePos = 0;
Float truePos = 0;
Float oldOut = std::numeric_limits<Float>::infinity();
Float result = 0;

for (size_t i = 0; i < indexes.size(); i++)
{
int index = indexes[i];
Float label = labels(index);
Float prediction = predicts(index);
Float weight = 1.0;
//Pval3(label, output, weight);
if (prediction != oldOut) //存在相同值得情况是特殊处理的
{
result += 0.5 * (oldTruePos + truePos) * (falsePos - oldFalsePos);
oldOut = prediction;
oldFalsePos = falsePos;
oldTruePos = truePos;
}
if (label > 0)
truePos += weight;
else
falsePos += weight;
}
result += 0.5 * (oldTruePos + truePos) * (falsePos - oldFalsePos);
Float AUC = result / (truePos * falsePos);

// Create an output tensor
Tensor* output_tensor = NULL;
TensorShape output_shape;

OP_REQUIRES_OK(context, context->allocate_output(0, output_shape, &output_tensor));
output_tensor->scalar<float>()() = AUC;
}
};

REGISTER_KERNEL_BUILDER(Name("Auc").Device(DEVICE_CPU), AucOp);

编译:
$cat gen-so.sh

TF_INC=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_include())')
TF_LIB=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_lib())')
i=$1
o=${i/.cc/.so}
g++ -std=c++11 -shared $i -o $o -I $TF_INC -l tensorflow_framework -L $TF_LIB -fPIC -Wl,-rpath $TF_LIB

$sh gen-so.sh auc.cc
会生成auc.so

使用的时候
auc_mole = tf.load_op_library('auc.so')
#auc = tf.user_ops.auc #0.6.0之前的tensorflow 自定义op方式
auc = auc_mole.auc

evaluate_op = auc(py_x, Y) #py_x is predicts, Y is labels

Ⅲ 如何支持自定义安装的高版本openssl库

1. Python官网下载源码包(version 2.7.8)并解压

2. 通过configure配置Makefile参数
假定先前已在/home/slvher/tools/openssl-1.0.1j路径下成功安装好高版本openssl,那么,可以通过下面的环境变量来设置gcc的编译/链接参数:
export LDFLAGS="-lssl -lcrypto -Wl,-rpath=/home/slvher/tools/openssl-1.0.1j/lib/" export CPPFLAGS="-I/home/slvher/tools/openssl-1.0.1j/include"
然后运行configure工具:
./configure --prefix=/home/slvher/tools/Python-2.7.8
configure运行完后,会生成Makefile,check无误后,执行make && make install就能完成Python安装。
3. 验证Python支持的ssl版本
Python安装成功且其bin路径加入PATH环境变量后,可通过下面的命令来验证是否正确支持高版本的openssl库:

python -c "import ssl; print ssl.OPENSSL_VERSION"
例如我机器上的输出结果如下:
OpenSSL 1.0.1j 15 Oct 2014

Ⅳ 如何在CentOS6上安装Python2.7和Python3.3-Python

CentOS 6自带了Python 2.6.6(CentOS 7则自带了Python 2.7)和一些非常好用的功能,如yum。但是,注意不要随便升级自带的Python以免yum不可用。 新版本将安装在/usr/local目录下以避免和自带的版本冲突。
虽然“我”只在64位的CentOS 6.5进行了尝试,但该教程应该适用于所有的CentOS 6版本(本人按此教程在CentOS 7上亦成功安装Python3.4)。

面的示例命令您最好以root身份运行或者在命令前加sudo赋予权限。但注意,若不是以root身份执行的话,make 与make
install最好分开执行,并且都在前面加sudo,连着写,如sudo make && make install的话会在make
install过程中报权限不足问题,因为sudo不作用于&&后面的make install。
安装前准备

译Python之前您最好先安装一系列的开发工具和一些拓展库,虽然不是必须的,但这样Python才能依赖这些工具和拓展库展示它强悍的功能。下面是利
用yum进行工具和拓展库安装的示例命令,直接执行即可(注意部分命令显示不全,但可以通过移动光标查看和复制)。
yumgroupinstall"Development tools"
yuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel
该考虑的因素
在您编译和安装Python之前,有些东西您是应该知道或考虑的。如下。
Unicode编码
Python
编码问题历史悠久,但不用过多关注,知道它目前支持Unicode编码即可(Python3中默认的)。考虑到兼容性等原因,除非有特殊的理由,您最好配
置下Python 3.2和更早的版本,使其支持UTF-32编码,虽然会增加小小的内存代价。在Python
2.7中您可以通过在configure时添加选项--enable-unicode=ucs4 进行配置,而在Python 3.2中是--with-wide-unicode选项。
Shared library(动态共享库)

前大部分的linux系统自带的Python都是以共享库的方式编译的,
此外,某些第三方工具例如mod_wsgi和Blender,没有Python的共享库还运行不了,所以,您最好还是把Python编译成动态共享库吧。
为了以共享库方式编译Python,您必须指明共享库的路径。您有两种选择:
在configure命令后面添加:LDFLAGS="-Wl,-rpath /usr/local/lib"从而将库路径直接编译进Python中。
以记事本方式打开 /etc/ld.so.conf ,然后在文件最后添加新行:/usr/local/lib 。紧接着运行命令 /sbin/ldconfig 更新动态链接器。 添加后的文件内容在CentOS 6.5 如下:
/etc/ld.so.conf

include ld.so.conf.d/*.conf
/usr/local/lib

使用 “make altinstall” 而不是make install
切记,在安装自定义版本的Python时,make altinstall命令是必须的!如果您使用一般的 make install命令,呵呵,您将会在解压编译的目录下看到两个命名一样但版本不同的python,这有可能会导致一些意想不到的bug哦,具体是什么作者没说,我也不知道。
下载,编译,安装Python
如下命令可用于下载、编译和安装Python。注意,如果您打算安装后手动修改/etc/ld.so.conf文件以更新动态链接器,那么下面的 LDFLAGS 参数您就可以去掉了。

# Python 2.7.6:
wgethttp://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tarxfPython-2.7.6.tar.xz
cdPython-2.7.6
./configure--prefix=/usr/local--enable-unicode=ucs4--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)
# Python 3.3.5:
wgethttp://python.org/ftp/python/3.3.5/Python-3.3.5.tar.xz
tarxfPython-3.3.5.tar.xz
cdPython-3.3.5
./configure--prefix=/usr/local--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)

执行上述命令之后,您可以在/usr/local/bin/python2.7或 /usr/local/bin/python3.3中找到新安装的Python。而Python 2.6.6则可能在/usr/bin/python, /usr/bin/python2或 /usr/bin/python2.6找到。
下载和安装Setuptools + pip
Setuptools早已取代 Distribute成为Python官方的拓展包管理器,以用于从Python Package Index安装拓展功能包。 不同版本的Python需要的Setuptools版本不同。建议您也通过Setuptools安装 pip,它提供了一些额外在安装拓展功能包时很有用的功能。
以下的命令可用于安装最新版Setuptools 和 pip。

# First get the setup script for Setuptools:
wgethttps://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
# Then install it for Python 2.7 and/or Python 3.3:
python2.7ez_setup.py
python3.3ez_setup.py
# Now install pip using the newly installed setuptools:
easy_install-2.7pip
easy_install-3.3pip
# With pip installed you can now do things like this:
pip2.7install[packagename]
pip2.7install--upgrade[packagename]
pip2.7uninstall[packagename]

安装的拓展功能包在/usr/local/lib/pythonX.Y/site-packages/中可以找到(X.Y是Python的版本号)。
接下来干嘛?
如果您使用 Python 2.7,强烈建议您安装virtualenv并学会使用它,它可用于创建独立的 Python 环境。如果您使用 Python 3.3的话就可以省心些,它已被内置了。

同的 Python 运行环境(也叫沙盒) 可以有自己的 Python
版本和拓展功能包,就是说不同的Python安装和运行的目录不同,也可以为每个版本的Python安装对应的名称一样但版本不同的拓展包。
这在开发多个功能不同的项目或在同一个项目中需要用到不同版本的Python是会很有用的。
创建您第一个独立的Python环境

# Install virtualenv for Python 2.7 and create a sandbox called my27project:
pip2.7installvirtualenv
virtualenv-2.7my27project
# Use the built-in pyvenv program in Python 3.3 to create a sandbox called my33project:
pyvenv-3.3my33project
# Check the system Python interpreter version:
python--version
# This will show Python 2.6.6
# Activate the my27project sandbox and check the version of the default Python interpreter in it:
sourcemy27project/bin/activate
python--version
# This will show Python 2.7.6
deactivate
# Activate the my33project sandbox and check the version of the default Python interpreter in it:
sourcemy33project/bin/activate
python--version
# This will show Python 3.3.5
deactivate

Ⅳ 如何在CentOS6上安装Python2.7和Python3.3-Python

安装前准备
编译Python之前您最好先安装一系列的开发工具和一些拓展库,虽然不是必须的,但这样Python才
能依赖这些工具和拓展库展示它强悍的功能。下面是利用yum进行工具和拓展库安装的示例命令,直接执行即可(注意部分命令显示不全,但可以通过移
动光标查看和复制)。
yumgroupinstall"Development tools"
yuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel
该考虑的因素
在您编译和安装Python之前,有些东西您是应该知道或考虑的。如下。
Unicode编码
Python
编码问题历史悠久,但不用过多关注,知道它目前支持Unicode编码即可(Python3中默认的)。考虑到兼容性等原因,除非有特殊的理由,您最好配
置下Python 3.2和更早的版本,使其支持UTF-32编码,虽然会增加小小的内存代价。在Python
2.7中您可以通过在configure时添加选项--enable-unicode=ucs4 进行配置,而在Python 3.2中是--with-wide-unicode选项。
Shared library(动态共享库)

前大部分的Linux系统自带的Python都是以共享库的方式编译的,
此外,某些第三方工具例如mod_wsgi和Blender,没有Python的共享库还运行不了,所以,您最好还是把Python编译成动态共享库吧。
为了以共享库方式编译Python,您必须指明共享库的路径。您有两种选择:
在configure命令后面添加:LDFLAGS="-Wl,-rpath /usr/local/lib"从而将库路径直接编译进Python中。
以记事本方式打开 /etc/ld.so.conf ,然后在文件最后添加新行:/usr/local/lib 。紧接着运行命令 /sbin/ldconfig 更新动态链接器。 添加后的文件内容在CentOS 6.5 如下:
/etc/ld.so.conf

include ld.so.conf.d/*.conf
/usr/local/lib

使用 “make altinstall” 而不是make install
切记,在安装自定义版本的Python时,make altinstall命令是必须的!如果您使用一般的 make install命令,呵呵,您将会在解压编译的目录下看到两个命名一样但版本不同的python,这有可能会导致一些意想不到的bug哦,具体是什么作者没说,我也不知道。
下载,编译,安装Python
如下命令可用于下载、编译和安装Python。注意,如果您打算安装后手动修改/etc/ld.so.conf文件以更新动态链接器,那么下面的 LDFLAGS 参数您就可以去掉了。

# Python 2.7.6:
wgethttp://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tarxfPython-2.7.6.tar.xz
cdPython-2.7.6
./configure--prefix=/usr/local--enable-unicode=ucs4--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)
# Python 3.3.5:
wgethttp://python.org/ftp/python/3.3.5/Python-3.3.5.tar.xz
tarxfPython-3.3.5.tar.xz
cdPython-3.3.5
./configure--prefix=/usr/local--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)

执行上述命令之后,您可以在/usr/local/bin/python2.7或 /usr/local/bin/python3.3中找到新安装的Python。而Python 2.6.6则可能在/usr/bin/python, /usr/bin/python2或 /usr/bin/python2.6找到。
下载和安装Setuptools + pip
Setuptools早已取代 Distribute成为Python官方的拓展包管理器,以用于从Python Package Index安装拓展功能包。 不同版本的Python需要的Setuptools版本不同。建议您也通过Setuptools安装 pip,它提供了一些额外在安装拓展功能包时很有用的功能。
以下的命令可用于安装最新版Setuptools 和 pip。

# First get the setup script for Setuptools:
wgethttps://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
# Then install it for Python 2.7 and/or Python 3.3:
python2.7ez_setup.py
python3.3ez_setup.py
# Now install pip using the newly installed setuptools:
easy_install-2.7pip
easy_install-3.3pip
# With pip installed you can now do things like this:
pip2.7install[packagename]
pip2.7install--upgrade[packagename]
pip2.7uninstall[packagename]

安装的拓展功能包在/usr/local/lib/pythonX.Y/site-packages/中可以找到(X.Y是Python的版本号)。
接下来干嘛?
如果您使用 Python 2.7,强烈建议您安装virtualenv并学会使用它,它可用于创建独立的 Python 环境。如果您使用 Python 3.3的话就可以省心些,它已被内置了。

同的 Python 运行环境(也叫沙盒) 可以有自己的 Python
版本和拓展功能包,就是说不同的Python安装和运行的目录不同,也可以为每个版本的Python安装对应的名称一样但版本不同的拓展包。
这在开发多个功能不同的项目或在同一个项目中需要用到不同版本的Python是会很有用的。
创建您第一个独立的Python环境

# Install virtualenv for Python 2.7 and create a sandbox called my27project:
pip2.7installvirtualenv
virtualenv-2.7my27project
# Use the built-in pyvenv program in Python 3.3 to create a sandbox called my33project:
pyvenv-3.3my33project
# Check the system Python interpreter version:
python--version
# This will show Python 2.6.6
# Activate the my27project sandbox and check the version of the default Python interpreter in it:
sourcemy27project/bin/activate
python--version
# This will show Python 2.7.6
deactivate
# Activate the my33project sandbox and check the version of the default Python interpreter in it:
sourcemy33project/bin/activate
python--version
# This will show Python 3.3.5
deactivate


你使用 virtualenv创建一个运行沙盒时,它会自动在沙盒环境中为您安装setuptools和 pip
(听起来不错,可以还没尝试过)。但如果您使用 pyvenv
的话,您就必须自己动手安装了。也简单,激活沙盒之后通过运行下载的z_setup.py文件去安装即可。

Ⅵ 如何在 CentOS 6 中安装 Python3.3.5

CentOS 6自带了Python 2.6.6(CentOS 7则自带了Python 2.7)和一些非常好用的功能,如yum。但是,注意不要随便升级自带的Python以免yum不可用。 新版本将安装在/usr/local目录下以避免和自带的版本冲突。
虽然“我”只在64位的CentOS 6.5进行了尝试,但该教程应该适用于所有的CentOS 6版本(本人按此教程在CentOS 7上亦成功安装Python3.4)。

面的示例命令您最好以root身份运行或者在命令前加sudo赋予权限。但注意,若不是以root身份执行的话,make 与make
install最好分开执行,并且都在前面加sudo,连着写,如sudo make && make install的话会在make
install过程中报权限不足问题,因为sudo不作用于&&后面的make install。
安装前准备

译Python之前您最好先安装一系列的开发工具和一些拓展库,虽然不是必须的,但这样Python才能依赖这些工具和拓展库展示它强悍的功能。下面是利
用yum进行工具和拓展库安装的示例命令,直接执行即可(注意部分命令显示不全,但可以通过移动光标查看和复制)。
yumgroupinstall"Development tools"
yuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel
该考虑的因素
在您编译和安装Python之前,有些东西您是应该知道或考虑的。如下。
Unicode编码
Python
编码问题历史悠久,但不用过多关注,知道它目前支持Unicode编码即可(Python3中默认的)。考虑到兼容性等原因,除非有特殊的理由,您最好配
置下Python 3.2和更早的版本,使其支持UTF-32编码,虽然会增加小小的内存代价。在Python
2.7中您可以通过在configure时添加选项--enable-unicode=ucs4 进行配置,而在Python 3.2中是--with-wide-unicode选项。
Shared library(动态共享库)

前大部分的Linux系统自带的Python都是以共享库的方式编译的,
此外,某些第三方工具例如mod_wsgi和Blender,没有Python的共享库还运行不了,所以,您最好还是把Python编译成动态共享库吧。
为了以共享库方式编译Python,您必须指明共享库的路径。您有两种选择:
在configure命令后面添加:LDFLAGS="-Wl,-rpath /usr/local/lib"从而将库路径直接编译进Python中。
以记事本方式打开 /etc/ld.so.conf ,然后在文件最后添加新行:/usr/local/lib 。紧接着运行命令 /sbin/ldconfig 更新动态链接器。 添加后的文件内容在CentOS 6.5 如下:
/etc/ld.so.conf

include ld.so.conf.d/*.conf
/usr/local/lib

使用 “make altinstall” 而不是make install
切记,在安装自定义版本的Python时,make altinstall命令是必须的!如果您使用一般的 make install命令,呵呵,您将会在解压编译的目录下看到两个命名一样但版本不同的python,这有可能会导致一些意想不到的bug哦,具体是什么作者没说,我也不知道。
下载,编译,安装Python
如下命令可用于下载、编译和安装Python。注意,如果您打算安装后手动修改/etc/ld.so.conf文件以更新动态链接器,那么下面的 LDFLAGS 参数您就可以去掉了。

# Python 2.7.6:
wgethttp://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tarxfPython-2.7.6.tar.xz
cdPython-2.7.6
./configure--prefix=/usr/local--enable-unicode=ucs4--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)
# Python 3.3.5:
wgethttp://python.org/ftp/python/3.3.5/Python-3.3.5.tar.xz
tarxfPython-3.3.5.tar.xz
cdPython-3.3.5
./configure--prefix=/usr/local--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)

执行上述命令之后,您可以在/usr/local/bin/python2.7或 /usr/local/bin/python3.3中找到新安装的Python。而Python 2.6.6则可能在/usr/bin/python, /usr/bin/python2或 /usr/bin/python2.6找到。
下载和安装Setuptools + pip
Setuptools早已取代 Distribute成为Python官方的拓展包管理器,以用于从Python Package Index安装拓展功能包。 不同版本的Python需要的Setuptools版本不同。建议您也通过Setuptools安装 pip,它提供了一些额外在安装拓展功能包时很有用的功能。
以下的命令可用于安装最新版Setuptools 和 pip。

# First get the setup script for Setuptools:
wgethttps://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
# Then install it for Python 2.7 and/or Python 3.3:
python2.7ez_setup.py
python3.3ez_setup.py
# Now install pip using the newly installed setuptools:
easy_install-2.7pip
easy_install-3.3pip
# With pip installed you can now do things like this:
pip2.7install[packagename]
pip2.7install--upgrade[packagename]
pip2.7uninstall[packagename]

安装的拓展功能包在/usr/local/lib/pythonX.Y/site-packages/中可以找到(X.Y是Python的版本号)。
接下来干嘛?
如果您使用 Python 2.7,强烈建议您安装virtualenv并学会使用它,它可用于创建独立的 Python 环境。如果您使用 Python 3.3的话就可以省心些,它已被内置了。

同的 Python 运行环境(也叫沙盒) 可以有自己的 Python
版本和拓展功能包,就是说不同的Python安装和运行的目录不同,也可以为每个版本的Python安装对应的名称一样但版本不同的拓展包。
这在开发多个功能不同的项目或在同一个项目中需要用到不同版本的Python是会很有用的。
创建您第一个独立的Python环境

# Install virtualenv for Python 2.7 and create a sandbox called my27project:
pip2.7installvirtualenv
virtualenv-2.7my27project
# Use the built-in pyvenv program in Python 3.3 to create a sandbox called my33project:
pyvenv-3.3my33project
# Check the system Python interpreter version:
python--version
# This will show Python 2.6.6
# Activate the my27project sandbox and check the version of the default Python interpreter in it:
sourcemy27project/bin/activate
python--version
# This will show Python 2.7.6
deactivate
# Activate the my33project sandbox and check the version of the default Python interpreter in it:
sourcemy33project/bin/activate
python--version
# This will show Python 3.3.5
deactivate

Ⅶ 在linux上交叉编译wxPython的时候遇到的一个找不到链接库的问题,求解答

你这个文件到底在什么地方?
/usr/local/arm/gtkdfp/lib
下面怎么还有带目录名的 /usr/lib/

把程序装载稀奇古怪的地方,出现任何问题都是可能的。

Ⅷ 如何在CentOS6上安装Python2.7和Python3.3

CentOS 6自带了Python 2.6.6(CentOS 7则自带了Python 2.7)和一些非常好用的功能,如yum。但是,注意不要随便升级自带的Python以免yum不可用。 新版本将安装在/usr/local目录下以避免和自带的版本冲突。
虽然“我”只在64位的CentOS 6.5进行了尝试,但该教程应该适用于所有的CentOS 6版本(本人按此教程在CentOS 7上亦成功安装Python3.4)。

面的示例命令您最好以root身份运行或者在命令前加sudo赋予权限。但注意,若不是以root身份执行的话,make 与make
install最好分开执行,并且都在前面加sudo,连着写,如sudo make && make install的话会在make
install过程中报权限不足问题,因为sudo不作用于&&后面的make install。
安装前准备

译Python之前您最好先安装一系列的开发工具和一些拓展库,虽然不是必须的,但这样Python才能依赖这些工具和拓展库展示它强悍的功能。下面是利
用yum进行工具和拓展库安装的示例命令,直接执行即可(注意部分命令显示不全,但可以通过移动光标查看和复制)。
yumgroupinstall"Development tools"
yuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel
该考虑的因素
在您编译和安装Python之前,有些东西您是应该知道或考虑的。如下。
Unicode编码
Python
编码问题历史悠久,但不用过多关注,知道它目前支持Unicode编码即可(Python3中默认的)。考虑到兼容性等原因,除非有特殊的理由,您最好配
置下Python 3.2和更早的版本,使其支持UTF-32编码,虽然会增加小小的内存代价。在Python
2.7中您可以通过在configure时添加选项--enable-unicode=ucs4 进行配置,而在Python 3.2中是--with-wide-unicode选项。
Shared library(动态共享库)

前大部分的Linux系统自带的Python都是以共享库的方式编译的,
此外,某些第三方工具例如mod_wsgi和Blender,没有Python的共享库还运行不了,所以,您最好还是把Python编译成动态共享库吧。
为了以共享库方式编译Python,您必须指明共享库的路径。您有两种选择:
在configure命令后面添加:LDFLAGS="-Wl,-rpath /usr/local/lib"从而将库路径直接编译进Python中。
以记事本方式打开 /etc/ld.so.conf ,然后在文件最后添加新行:/usr/local/lib 。紧接着运行命令 /sbin/ldconfig 更新动态链接器。 添加后的文件内容在CentOS 6.5 如下:
/etc/ld.so.conf

include ld.so.conf.d/*.conf
/usr/local/lib

使用 “make altinstall” 而不是make install
切记,在安装自定义版本的Python时,make altinstall命令是必须的!如果您使用一般的 make install命令,呵呵,您将会在解压编译的目录下看到两个命名一样但版本不同的python,这有可能会导致一些意想不到的bug哦,具体是什么作者没说,我也不知道。
下载,编译,安装Python
如下命令可用于下载、编译和安装Python。注意,如果您打算安装后手动修改/etc/ld.so.conf文件以更新动态链接器,那么下面的 LDFLAGS 参数您就可以去掉了。

Ⅸ 如何在CentOS6上安装Python2.7和Python3.3

CentOS 6自带了Python 2.6.6(CentOS 7则自带了Python 2.7)和一些非常好用的功能,如yum。但是,注意不要随便升级自带的Python以免yum不可用。 新版本将安装在/usr/local目录下以避免和自带的版本冲突。
虽然“我”只在64位的CentOS 6.5进行了尝试,但该教程应该适用于所有的CentOS 6版本(本人按此教程在CentOS 7上亦成功安装Python3.4)。
下面的示例命令您最好以root身份运行或者在命令前加sudo赋予权限。但注意,若不是以root身份执行的话,make 与make install最好分开执行,并且都在前面加sudo,连着写,如sudo make && make install的话会在make install过程中报权限不足问题,因为sudo不作用于&&后面的make install。
安装前准备
编译Python之前您最好先安装一系列的开发工具和一些拓展库,虽然不是必须的,但这样Python才能依赖这些工具和拓展库展示它强悍的功能。下面是利用yum进行工具和拓展库安装的示例命令,直接执行即可(注意部分命令显示不全,但可以通过移动光标查看和复制)。
yumgroupinstall"Development tools"
yuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel
该考虑的因素
在您编译和安装Python之前,有些东西您是应该知道或考虑的。如下。
Unicode编码
Python编码问题历史悠久,但不用过多关注,知道它目前支持Unicode编码即可(Python3中默认的)。考虑到兼容性等原因,除非有特殊的理由,您最好配置下Python 3.2和更早的版本,使其支持UTF-32编码,虽然会增加小小的内存代价。在Python 2.7中您可以通过在configure时添加选项--enable-unicode=ucs4 进行配置,而在Python 3.2中是--with-wide-unicode选项。
Shared library(动态共享库)
目前大部分的Linux系统自带的Python都是以共享库的方式编译的, 此外,某些第三方工具例如mod_wsgi和Blender,没有Python的共享库还运行不了,所以,您最好还是把Python编译成动态共享库吧。为了以共享库方式编译Python,您必须指明共享库的路径。您有两种选择:
在configure命令后面添加:LDFLAGS="-Wl,-rpath /usr/local/lib"从而将库路径直接编译进Python中。
以记事本方式打开 /etc/ld.so.conf ,然后在文件最后添加新行:/usr/local/lib 。紧接着运行命令 /sbin/ldconfig 更新动态链接器。 添加后的文件内容在CentOS 6.5 如下:
/etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
使用 “make altinstall” 而不是make install
切记,在安装自定义版本的Python时,make altinstall命令是必须的!如果您使用一般的 make install命令,呵呵,您将会在解压编译的目录下看到两个命名一样但版本不同的python,这有可能会导致一些意想不到的bug哦,具体是什么作者没说,我也不知道。
下载,编译,安装Python
如下命令可用于下载、编译和安装Python。注意,如果您打算安装后手动修改/etc/ld.so.conf文件以更新动态链接器,那么下面的 LDFLAGS 参数您就可以去掉了。
# Python 2.7.6:
wgethttp://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tarxfPython-2.7.6.tar.xz
cdPython-2.7.6
./configure--prefix=/usr/local--enable-unicode=ucs4--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)
# Python 3.3.5:
wgethttp://python.org/ftp/python/3.3.5/Python-3.3.5.tar.xz
tarxfPython-3.3.5.tar.xz
cdPython-3.3.5
./configure--prefix=/usr/local--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)
执行上述命令之后,您可以在/usr/local/bin/python2.7或 /usr/local/bin/python3.3中找到新安装的Python。而Python 2.6.6则可能在/usr/bin/python, /usr/bin/python2或 /usr/bin/python2.6找到。
下载和安装Setuptools + pip
Setuptools早已取代 Distribute成为Python官方的拓展包管理器,以用于从Python Package Index安装拓展功能包。 不同版本的Python需要的Setuptools版本不同。建议您也通过Setuptools安装 pip,它提供了一些额外在安装拓展功能包时很有用的功能。
以下的命令可用于安装最新版Setuptools 和 pip。
# First get the setup script for Setuptools:
wgethttps://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
# Then install it for Python 2.7 and/or Python 3.3:
python2.7ez_setup.py
python3.3ez_setup.py
# Now install pip using the newly installed setuptools:
easy_install-2.7pip
easy_install-3.3pip
# With pip installed you can now do things like this:
pip2.7install[packagename]
pip2.7install--upgrade[packagename]
pip2.7uninstall[packagename]
安装的拓展功能包在/usr/local/lib/pythonX.Y/site-packages/中可以找到(X.Y是Python的版本号)。
接下来干嘛?
如果您使用 Python 2.7,强烈建议您安装virtualenv并学会使用它,它可用于创建独立的 Python 环境。如果您使用 Python 3.3的话就可以省心些,它已被内置了。
不同的 Python 运行环境(也叫沙盒) 可以有自己的 Python 版本和拓展功能包,就是说不同的Python安装和运行的目录不同,也可以为每个版本的Python安装对应的名称一样但版本不同的拓展包。 这在开发多个功能不同的项目或在同一个项目中需要用到不同版本的Python是会很有用的。
创建您第一个独立的Python环境
# Install virtualenv for Python 2.7 and create a sandbox called my27project:
pip2.7installvirtualenv
virtualenv-2.7my27project
# Use the built-in pyvenv program in Python 3.3 to create a sandbox called my33project:
pyvenv-3.3my33project
# Check the system Python interpreter version:
python--version
# This will show Python 2.6.6
# Activate the my27project sandbox and check the version of the default Python interpreter in it:
sourcemy27project/bin/activate
python--version
# This will show Python 2.7.6
deactivate
# Activate the my33project sandbox and check the version of the default Python interpreter in it:
sourcemy33project/bin/activate
python--version
# This will show Python 3.3.5
deactivateCentOS 6自带了Python 2.6.6(CentOS 7则自带了Python 2.7)和一些非常好用的功能,如yum。但是,注意不要随便升级自带的Python以免yum不可用。 新版本将安装在/usr/local目录下以避免和自带的版本冲突。
虽然“我”只在64位的CentOS 6.5进行了尝试,但该教程应该适用于所有的CentOS 6版本(本人按此教程在CentOS 7上亦成功安装Python3.4)。
下面的示例命令您最好以root身份运行或者在命令前加sudo赋予权限。但注意,若不是以root身份执行的话,make 与make install最好分开执行,并且都在前面加sudo,连着写,如sudo make && make install的话会在make install过程中报权限不足问题,因为sudo不作用于&&后面的make install。
安装前准备
编译Python之前您最好先安装一系列的开发工具和一些拓展库,虽然不是必须的,但这样Python才能依赖这些工具和拓展库展示它强悍的功能。下面是利用yum进行工具和拓展库安装的示例命令,直接执行即可(注意部分命令显示不全,但可以通过移动光标查看和复制)。
yumgroupinstall"Development tools"
yuminstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel
该考虑的因素
在您编译和安装Python之前,有些东西您是应该知道或考虑的。如下。
Unicode编码
Python编码问题历史悠久,但不用过多关注,知道它目前支持Unicode编码即可(Python3中默认的)。考虑到兼容性等原因,除非有特殊的理由,您最好配置下Python 3.2和更早的版本,使其支持UTF-32编码,虽然会增加小小的内存代价。在Python 2.7中您可以通过在configure时添加选项--enable-unicode=ucs4 进行配置,而在Python 3.2中是--with-wide-unicode选项。
Shared library(动态共享库)
目前大部分的Linux系统自带的Python都是以共享库的方式编译的, 此外,某些第三方工具例如mod_wsgi和Blender,没有Python的共享库还运行不了,所以,您最好还是把Python编译成动态共享库吧。为了以共享库方式编译Python,您必须指明共享库的路径。您有两种选择:
在configure命令后面添加:LDFLAGS="-Wl,-rpath /usr/local/lib"从而将库路径直接编译进Python中。
以记事本方式打开 /etc/ld.so.conf ,然后在文件最后添加新行:/usr/local/lib 。紧接着运行命令 /sbin/ldconfig 更新动态链接器。 添加后的文件内容在CentOS 6.5 如下:
/etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
使用 “make altinstall” 而不是make install
切记,在安装自定义版本的Python时,make altinstall命令是必须的!如果您使用一般的 make install命令,呵呵,您将会在解压编译的目录下看到两个命名一样但版本不同的python,这有可能会导致一些意想不到的bug哦,具体是什么作者没说,我也不知道。
下载,编译,安装Python
如下命令可用于下载、编译和安装Python。注意,如果您打算安装后手动修改/etc/ld.so.conf文件以更新动态链接器,那么下面的 LDFLAGS 参数您就可以去掉了。
# Python 2.7.6:
wgethttp://python.org/ftp/python/2.7.6/Python-2.7.6.tar.xz
tarxfPython-2.7.6.tar.xz
cdPython-2.7.6
./configure--prefix=/usr/local--enable-unicode=ucs4--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)
# Python 3.3.5:
wgethttp://python.org/ftp/python/3.3.5/Python-3.3.5.tar.xz
tarxfPython-3.3.5.tar.xz
cdPython-3.3.5
./configure--prefix=/usr/local--enable-sharedLDFLAGS="-Wl,-rpath /usr/local/lib"
make&&makealtinstall(此处切记,要么以root运行,要么分开执行!)
执行上述命令之后,您可以在/usr/local/bin/python2.7或 /usr/local/bin/python3.3中找到新安装的Python。而Python 2.6.6则可能在/usr/bin/python, /usr/bin/python2或 /usr/bin/python2.6找到。
下载和安装Setuptools + pip
Setuptools早已取代 Distribute成为Python官方的拓展包管理器,以用于从Python Package Index安装拓展功能包。 不同版本的Python需要的Setuptools版本不同。建议您也通过Setuptools安装 pip,它提供了一些额外在安装拓展功能包时很有用的功能。
以下的命令可用于安装最新版Setuptools 和 pip。
# First get the setup script for Setuptools:
wgethttps://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py
# Then install it for Python 2.7 and/or Python 3.3:
python2.7ez_setup.py
python3.3ez_setup.py
# Now install pip using the newly installed setuptools:
easy_install-2.7pip
easy_install-3.3pip
# With pip installed you can now do things like this:
pip2.7install[packagename]
pip2.7install--upgrade[packagename]
pip2.7uninstall[packagename]
安装的拓展功能包在/usr/local/lib/pythonX.Y/site-packages/中可以找到(X.Y是Python的版本号)。
接下来干嘛?
如果您使用 Python 2.7,强烈建议您安装virtualenv并学会使用它,它可用于创建独立的 Python 环境。如果您使用 Python 3.3的话就可以省心些,它已被内置了。
不同的 Python 运行环境(也叫沙盒) 可以有自己的 Python 版本和拓展功能包,就是说不同的Python安装和运行的目录不同,也可以为每个版本的Python安装对应的名称一样但版本不同的拓展包。 这在开发多个功能不同的项目或在同一个项目中需要用到不同版本的Python是会很有用的。
创建您第一个独立的Python环境
# Install virtualenv for Python 2.7 and create a sandbox called my27project:
pip2.7installvirtualenv
virtualenv-2.7my27project
# Use the built-in pyvenv program in Python 3.3 to create a sandbox called my33project:
pyvenv-3.3my33project
# Check the system Python interpreter version:
python--version
# This will show Python 2.6.6
# Activate the my27project sandbox and check the version of the default Python interpreter in it:
sourcemy27project/bin/activate
python--version
# This will show Python 2.7.6
deactivate
# Activate the my33project sandbox and check the version of the default Python interpreter in it:
sourcemy33project/bin/activate
python--version
# This will show Python 3.3.5
deactivate

阅读全文

与rpath地址python相关的资料

热点内容
腾讯云应用服务器可以做什么 浏览:507
二次元表格编程 浏览:20
plc编程器保停 浏览:963
如何降低服务器的内存占用率 浏览:868
阿里云服务器是个什么意思 浏览:817
国内最好的数控编程培训学校 浏览:13
222乘104列是算法 浏览:159
程序员沟通正确姿势 浏览:969
魔玩app怎么视频推广 浏览:960
程序员抽奖送礼 浏览:458
北京java程序员薪资 浏览:658
如何创建网络平台或者app 浏览:355
python随机数生成控制概率 浏览:236
压缩机并联运行 浏览:899
两位单片机 浏览:63
四川音乐类投档线的算法 浏览:650
建行app如何改转账卡 浏览:27
android开发升级 浏览:299
要火社区app进不去怎么办 浏览:826
安卓手机上的自定义功能怎么用 浏览:230