2012-03-01 12 views
13

perl -Vを実行して生成された出力には、有用な情報が入っています(下記の例を参照)。 Pythonのようなものはありますか?Pythonの "perl -V"と同じもの


出力例:

% 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 
    . 

はあまり有益perl -vと混同してはならない:

% 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. 

答えて

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

をハハ、完全に私の答えを所有していた。 – enderskill

+2

これとは別に、perlは 'perl -V'データへのモジュールインタフェースも持っています:[Configモジュール](http://perldoc.perl.org/Config.html)。 – rjh

0

これは信じられないほど、ハック非現実的、とのように詳細ではありませんが、 perl -V、これは環境に関する適切な情報を得ることができる1ライナーです。

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

これはあなたの典型的な覚えやすいコマンドではありませんので、あなたはsys_info.pyとしてPythonのLibディレクトリに次の行を救うことができるし、その後、あなただけを実行できます。

python -m sys_info