2012-03-01 13 views
13

perl -V çalıştırarak üretilen çıktı, yararlı bilgilerle paketlenmiştir (aşağıdaki örneğe bakın). Python için böyle bir şey var mı?Python'un "perl -V" eşdeğeri nedir?


Örnek çıkışı:

% perl -V 
Summary of my perl5 (revision 5 version 10 subversion 1) configuration: 

    Platform: 
    osname=linux, osvers=2.6.32-5-amd64, archname=x86_64-linux-gnu-thread-multi 
    uname='linux brahms 2.6.32-5-amd64 #1 smp tue jun 14 09:42:28 utc 2011 x86_64 gnulinux ' 
    config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=x86_64-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.10 -Darchlib=/usr/lib/perl/5.10 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.10.1 -Dsitearch=/usr/local/lib/perl/5.10.1 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm -DDEBUGGING=-g -Doptimize=-O2 -Duseshrplib -Dlibperl=libperl.so.5.10.1 -Dd_dosuid -des' 
    hint=recommended, useposix=true, d_sigaction=define 
    useithreads=define, usemultiplicity=define 
    useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef 
    use64bitint=define, use64bitall=define, uselongdouble=undef 
    usemymalloc=n, bincompat5005=undef 
    Compiler: 
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', 
    optimize='-O2 -g', 
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' 
    ccversion='', gccversion='4.4.5', gccosandvers='' 
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 
    alignbytes=8, prototype=define 
    Linker and Libraries: 
    ld='cc', ldflags =' -fstack-protector -L/usr/local/lib' 
    libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 
    libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt 
    perllibs=-ldl -lm -lpthread -lc -lcrypt 
    libc=/lib/libc-2.11.2.so, so=so, useshrplib=true, libperl=libperl.so.5.10.1 
    gnulibc_version='2.11.2' 
    Dynamic Linking: 
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' 
    cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector' 


Characteristics of this binary (from libperl): 
    Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV 
         PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL 
         USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES 
         USE_PERLIO USE_REENTRANT_API 
    Locally applied patches: 
    DEBPKG:debian/arm_thread_stress_timeout - http://bugs.debian.org/501970 Raise the timeout of ext/threads/shared/t/stress.t to accommodate slower build hosts 
    DEBPKG:debian/cpan_config_path - Set location of CPAN::Config to /etc/perl as /usr may not be writable. 

    <snip-- iow patches galore --you get the picture> 

    DEBPKG:fixes/safe-reval-rdo-cve-2010-1447 - [PATCH] Wrap by default coderefs returned by rdo and reval 
    DEBPKG:patchlevel - http://bugs.debian.org/567489 List packaged patches for 5.10.1-17squeeze2 in patchlevel.h 
    Built under linux 
    Compiled at Jun 30 2011 22:28:00 
    @INC: 
    /etc/perl 
    /usr/local/lib/perl/5.10.1 
    /usr/local/share/perl/5.10.1 
    /usr/lib/perl5 
    /usr/share/perl5 
    /usr/lib/perl/5.10 
    /usr/share/perl/5.10 
    /usr/local/lib/site_perl 
    /usr/local/lib/perl/5.10.0 
    /usr/local/share/perl/5.10.0 
    . 

çok daha az bilgilendirici perl -v ile karıştırılmamalıdır değil:

% perl -v 
This is perl, v5.10.1 (*) built for x86_64-linux-gnu-thread-multi 
(with 53 registered patches, see perl -V for more detail) 

Copyright 1987-2009, Larry Wall 

Perl may be copied only under the terms of either the Artistic License or the 
GNU General Public License, which may be found in the Perl 5 source kit. 

Complete documentation for Perl, including FAQ lists, should be found on 
this system using "man perl" or "perldoc perl". If you have access to the 
Internet, point your browser at http://www.perl.org/, the Perl Home Page. 

cevap

15
python -c 'import sysconfig, pprint; pprint.pprint(sysconfig.get_config_vars())' 
+0

Haha, tamamen Cevabımın sahibi. – enderskill

+2

Bir kenara göre, perl ayrıca 'perl -V' verilerine bir modül arabirimine sahiptir: [Config module] (http://perldoc.perl.org/Config.html). – rjh

0

bu inanılmaz, hackish pratik ve olduğunca detaylı olmasa da perl -V, bu çevre hakkında iyi bilgi alabilen tek liner. Bu yana

python -c "import platform as p;exec('for x in vars(p):\n try:\n print ({x:vars(p)[x]()})\n except:\n pass')" 

değil senin tipik kolay hatırlamak komutu, sen sys_info.py olarak Python'un Lib dizinine bu çizgiyi kurtarabilecek sonra sadece çalıştırabilir:

python -m sys_info