2015-02-16 2 views
1

Я установил пакет pyswip в свою систему. Когда я импортирую пакет pyswip с использованием import pyswip, никаких ошибок, но не смог увидеть его версию.Получить номер версии для пакета pyswip

swipl -dump-runtime-variables 

дает:

CC="gcc"; 
PLBASE="/usr/lib/swipl-6.6.6"; 
PLARCH="i686-linux"; 
PLLIBS=""; 
PLLIB="-lswipl"; 
PLCFLAGS="-fno-strict-aliasing -pthread -fPIC "; 
PLLDFLAGS="-rdynamic -O2 -pthread -Wl,-rpath=/usr/lib/swipl-6.6.6/lib/i686-linux "; 
PLSOEXT="so"; 
PLSOPATH="LD_LIBRARY_PATH"; 
PLVERSION="60606"; 
PLSHARED="yes"; 
PLTHREADS="yes"; 

pyswip -V дает:

pyswip: command not found 

есть ли способ получить версию или установки деталей для этого пакета?

ответ

2

Как вы установили этот пакет? Если вы используете пип, вы можете посмотреть версию, как это:

pip freeze | grep pyswip 

Или во время выполнения:

import pkg_resources 
pkg_resources.get_distribution("pyswip").version 
+0

спасибо, но я хочу получить номер версии для установленного пакета pyswip – nlper

+1

Эта команда покажет вам версию установленного пакета. –

+0

это дает 'pip: ошибка: нет команды по названию pip show' – nlper

1

Я не думаю, что есть утилита pyswip командной строки; в конце концов, это библиотека.

Однако pyswip «s __init__.py содержит __VERSION__ строку, так

import pyswip 
print pyswip.___VERSION___ 

должен работать.

EDIT: добавление __init__.py (исключая несколько строк комментариев); если установленная в вашей системе pyswip/__init__.py не содержит строку __VERSION__, она слишком устарела.

# -*- coding: utf-8 -*- 


# pyswip -- Python SWI-Prolog bridge 
# Copyright (c) 2007-2012 Yüce Tekol 
# 
# Permission is hereby granted, free of charge, to any person obtaining a copy 
# of this software and associated documentation files (the "Software"), to deal 
# in the Software without restriction, including without limitation the rights 
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 
# copies of the Software, and to permit persons to whom the Software is 
# furnished to do so, subject to the following conditions: 
# 
# .... MIT license .... 


# PySWIP version 
__VERSION__ = "0.2.3" 

from pyswip.prolog import Prolog 
from pyswip.easy import * 
+0

благодарит за помощью, но дает атрибут 'AttributeError: 'module' не имеет атрибута '___ VERSION ___'' – nlper

Смежные вопросы