1

私は現在、Windows 7 環境で Pyramid Web アプリケーションを開発しています。私は自分の Mac でこのアプリを開発していましたが、最近それがなくなったので、Windows マシンに移行する必要がありました。

必要なものはすべてセットアップしました。Python 2.7、Pyramid、pyramid_beaker、MongoDB、mongoengine など。

テンプレートを編集している間、機能しているように見えました。ただし、ビューを編集して新しいページをアプリに追加しようとすると、それが見つからないようです。次のルートを追加しました。

config.add_route('info_about','/info/about')
config.add_route('info_contact','/info/contact')
config.add_route('info_copyright','/info/copyright')
config.add_route('info_privacy','/info/privacy')
config.add_route('info_terms','/info/terms')

...これらは、次のように view_config デコレーターによって処理されます。

@view_config(route_name='info_about', renderer="myproject:templates/info/about.mako", permission='all')
def info_about(request):
    <code goes here>

これはinfo.py、view サブフォルダー (ファイルを含む__init__.py) 内のファイルにあります。この方法は、私が Mac を使用していたときは機能していましたが、Windows で試してみたところ、機能していないようです (アクセスしようとすると、404 Not Found ページがスローされます)。

少し調べたところ、 (コンパイルされた.pycバージョンのinfo.py) のバージョンが存在しないことがわかりました。 info.pyは新しく、Windows マシンに追加されました。試しにMacで作成したファイルを編集してテストサーバーを再起動してみました。対応するものも変更されていないため、Windows がpython ファイル.pycのバージョンを生成していないと推測されます。.pyc

これは一般的な問題ですか? さらに重要なことに、解決策はありますか? (あると仮定しなければなりません...)

4

1 に答える 1

3

申し訳ありませんが、あなたの質問は十分に明確ではありません。ある種の読み取り/書き込み権限の問題があるようで、*。pycの生成はそれとは何の関係もありません。

* .pycにはPythonバイトコードが含まれています。実際、元の*.pyファイルをより高速にロードするためだけにあります。Pythonが*.pyファイルを正常に読み取り、同じディレクトリに書き込み(!)できるようになるたびに、対応する*.pycファイルが作成されます。

詳細については、コンパイルされたpythonファイルを参照してください。

于 2011-06-05T13:40:10.290 に答える