2012-03-01 47 views
13

Kết quả được tạo ra bằng cách chạy perl -V được đóng gói với thông tin hữu ích (xem ví dụ bên dưới). Có điều gì giống như nó cho Python?Tương đương của Python là "perl -V"


Ví dụ đầu ra:

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

Không nên nhầm lẫn với ít nhiều thông tin 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. 

Trả lời

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

Haha, hoàn toàn sở hữu câu trả lời của tôi. – enderskill

+2

Ngoài ra, perl còn có giao diện mô-đun cho dữ liệu «perl -V': [Mô-đun cấu hình] (http://perldoc.perl.org/Config.html). – rjh

0

Mặc dù đây là vô cùng hackish, không thực tế, và không chi tiết như perl -V, đây là một lớp lót có thể nhận được thông tin phong nha về môi trường.

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

Vì đây không phải là của mình điển hình dễ nhớ lệnh, bạn có thể tiết kiệm dòng này vào thư mục Lib Python như sys_info.py và sau đó bạn chỉ có thể chạy:

python -m sys_info 
Các vấn đề liên quan