6

http://pythonpaste.org/script/developer.html#what-do-commands-look-likeで説明されているように、カスタムの貼り付けコマンドを作成しました。setup.pyで、次のようにエントリポイントを定義しました。

entry_points={
  'paste.global_paster_command' : [
    'xxx_new = xxxconf.main:NewXxx'
  ]
}

私はアクティブ化されたvirtualenv内にいて、次の方法でパッケージをインストールしました

python setup.py develop

pasterパッケージフォルダ内で実行すると、カスタムコマンドが表示され、を介して実行できますpaster xxx ...。しかし、パッケージフォルダーを離れるとpaster、コマンドが表示されなくなります。確認which pasterしたところ、virtualenvのバージョンです。また、Pythonインタープリターを起動してインポートxxxconfしましたが、正常に動作します。

パッケージフォルダの外にいるときにグローバルコマンドが認識されない理由がわかりません!?

4

2 に答える 2

6

あなたは何か間違ったことをしています、それはうまくいくはずです。これは最小限の作業例です。virtualenv でテストできます。

blah/setup.py:

from setuptools import setup, find_packages

setup(name='blah',
      version='0.1',
      packages=find_packages(exclude=['ez_setup', 'examples', 'tests']),
      include_package_data=True,
      zip_safe=False,
      entry_points={'paste.global_paster_command': [ "xxx_new = blah.xxx:NewXxx", ] },
      )

blah/blah/xxx.py:

from paste.script import command

class NewXxx(command.Command):
    usage = "PREFIX"
    summary = "some command"
    group_name = "my group"

blah/blah/__init__.py: 空の。

現在テスト中:

$ pwd
/tmp
$ virtualenv paster
New python executable in paster/bin/python
Installing setuptools............done.
Installing pip...............done.
$ . paster/bin/activate
(paster)$ pip install PasteScript
Downloading/unpacking PasteScript
[... skipping long pip output here ...]
(paster)$ paster
[...]
Commands:
  create       Create the file layout for a Python distribution
  help         Display help
  make-config  Install a package and create a fresh config file/directory
  points       Show information about entry points
  post         Run a request for the described application
  request      Run a request for the described application
  serve        Serve the described application
  setup-app    Setup an application, given a config file

(paster)$ cd blah/
(paster)$ python setup.py develop
running develop
[... skipping setup.py output...]
(paster)$ paster
[...]
Commands:
  create       Create the file layout for a Python distribution
  help         Display help
  make-config  Install a package and create a fresh config file/directory
  points       Show information about entry points
  post         Run a request for the described application
  request      Run a request for the described application
  serve        Serve the described application
  setup-app    Setup an application, given a config file

my group:
  xxx_new      some command
(paster)$ cd ~
(paster)$ paster
[...]
Commands:
[...]
  setup-app    Setup an application, given a config file

my group:
  xxx_new      some command
于 2013-01-02T14:31:53.363 に答える
0

アクティブな virtualenv に paster_script をインストールする必要があります。その後、どこでも使用できます。

于 2013-01-04T04:33:48.483 に答える