2017-08-19 8 views
3

私が作成したsmall chat applicationのsetup.pyを書こうとしました。私も小さいですが、apparrently動作し、私のsetup.pyがないことhttpstatプロジェクトから参照を取っ正しいsetup.pyを書くには

#!/usr/bin/env python 
import os 
from setuptools import setup, find_packages 
from os import environ as env 
import subprocess 

from pip.req import parse_requirements 

requirements = [str(req.req) for req in parse_requirements('requirements.txt', session=False)] 

try: 
    VERSION = subprocess.check_output(['git', 'describe', '--tags']).strip() 
except subprocess.CalledProcessError: 
    VERSION = '0.dev' 

setup(
    name='chatery', 
    version=VERSION, 
    description="Lightweight Chat application" 
       " - with Twitter Support", 
    long_description=open('README.md').read(), 
    author="Shaurya-Xoxzo", 
    author_email='[email protected]', 
    url='http://www.xoxzo.com', 
    license='MIT', 
    install_requires=requirements, 
    packages=find_packages(), 
    include_package_data=True, 
    entry_points={ 
     'console_scripts': [ 
      'chatery = chatery:main', 
     ], 
    }, 
    zip_safe=False 
) 

- :ここで

setup.pyコードです。

ロードするファイルが見つかりません。私は以下のエラーを受け取ります。 コンソールに書斎を書くとき。

Traceback (most recent call last): 
    File "/usr/local/bin/chatery", line 9, in <module> 
    load_entry_point('chatery==0.dev0', 'console_scripts', 'chatery')() 
    File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 542, in load_entry_point 
    return get_distribution(dist).load_entry_point(group, name) 
    File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2569, in load_entry_point 
    return ep.load() 
    File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2229, in load 
    return self.resolve() 
    File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 2235, in resolve 
    module = __import__(self.module_name, fromlist=['__name__'], level=0) 
ImportError: No module named chatery 

ここで間違っていることはわかりません。

+0

私はあなたのプロジェクトをクローンしてインストールしました。(python3.5)うまくいきます。 – Juggernaut

+0

'python setup.py install'は動作しましたか?それから 'シャトー '? –

答えて

2

私はあなたのプロジェクトをクローンしましたが、フォルダ構造が間違っています - あなたのアプリケーションに関連するファイルを、他の配布関連ファイルがある別のフォルダ(例えばchatery)に入れないでください。
ので、代わりにこれを持つの:

app.py 
assets/ 
Caddyfile 
constants.py 
database/ 
dbutils/ 
install.sh 
README.md 
requirements.txt 
run.sh 
setup.py 
tests/ 
utils.py 

あなたはこのようなものが必要です:では

Caddyfile 
chatery/ 
    app.py 
    assets/ 
    constants.py 
    database/ 
    dbutils/ 
    __init__.py 
    utils.py 
install.sh 
README.md 
requirements.txt 
run.sh 
setup.py 
tests/ 

をごsetup.pyあなたはわずかにentry-points引数を変更する必要があります。また、

entry_points={ 
    'console_scripts': [ 
     'chatery=chatery.app:main', 
    ], 
} 

ますassetsフォルダを含めるにはMANIFEST.inファイルを作成する必要があります(mig

~$ python setup.py install 
    # many long lines 
~$ chatery 
[2017-08-19 14:43:21,994] INFO Using epoll 
[19/Aug/2017:14:43:21] ENGINE Listening for SIGHUP. 
[19/Aug/2017:14:43:21] ENGINE Listening for SIGTERM. 
[19/Aug/2017:14:43:21] ENGINE Listening for SIGUSR1. 
[19/Aug/2017:14:43:21] ENGINE Bus STARTING 
[19/Aug/2017:14:43:21] ENGINE Starting WebSocket processing 
[19/Aug/2017:14:43:21] ENGINE Started monitor thread '_TimeoutMonitor'. 
[19/Aug/2017:14:43:21] ENGINE Started monitor thread 'Autoreloader'. 
[19/Aug/2017:14:43:22] ENGINE Serving on http://127.0.0.1:9000 
[19/Aug/2017:14:43:22] ENGINE Bus STARTED 

そして、私は私のブラウザでhttp://127.0.0.1:9000を入力すると、私が手:今、あなたのアプリケーションをインストールして実行することができます

recursive-include chatery/assets * 

:HT)それはあなたのアプリケーションで必要になった場合にもdatabaseフォルダを追加します: enter image description here

関連する問題