2011-08-16 18 views
1

私のシステムでは現在Pythonバージョン2.5.2を実行していますが、ioモジュールに関するいくつかの問題があります。システムに「No module named io」と表示されます。とにかく私のシステムにioモジュールを手に入れることができるかどうか尋ねたいと思っていました。 pipやeasy_installを使ってインストールできませんでした。任意の選択肢。私は私のpythonバージョンをアップグレードすることはできません。 mysite.lists.viewsファイルからPythonのioモジュールの問題

ここここコード

/usr/lib/python2.5/site-packages/django/core/urlresolvers.py in _get_callback 
     raise ViewDoesNotExist("Could not import %s. Error was: %s" % (mod_name, str(e))) 
Local vars 

    'upload_ssv' 
    e ImportError('No module named io',) 
    mod_name 'mysite.lists.views' 
    self<RegexURLPattern submit-csv ^upload_ssv/$> 

のいくつかのトレースバックは、いくつかの断片である

import cStringIO as StringIO 
import datetime, csv 
from django.http import HttpResponse, HttpResponseRedirect 
from dateutil.parser import parse 
from django.shortcuts import render_to_response 
from django.core.files.base import ContentFile 
from django.template import RequestContext 
from django.core.urlresolvers import reverse 
from mysite.wire.models import Screening, Company, Union, Funder 
from mysite.users.models import UserProfile 
from mysite.wire.forms import EmailForm, CSVForm 
from mysite.lists.models import List, ListEntry 
from django.contrib.admin.views.decorators import staff_member_required 
from forms import SSVForm 
from django.core.mail import send_mail 

def upload_ssv(request): 
if request.method == 'POST': 
    form = SSVForm(request.POST, request.FILES) 
    if form.is_valid(): 
     for result in form.parsed_data: 
      # TODO: Screening model - confirmation ID = ID of a screening 
      print result 
else: 
    form = SSVForm() 
return render_to_response('lists/upload_ssv.html', locals(), RequestContext(request)) 

スニペットurls.pyファイルから

url(r'^upload-ssv/$', 'sureaudio.lists.views.upload_ssv', name='upload-ssv'), 
+0

デフォルトファイルオブジェクトの何が問題になっていますか? –

+2

あなたの質問に対する答えは、最良のものの横にあるチェックマークをクリックして受け入れてください。あなたはあなたの最後の__ten__質問への回答を受け入れていません。 – agf

答えて

2

builtin file object(または単にbuiltin open function)で希望することができない場合は、唯一のPython 2で利用可能なioライブラリの機能は、StringIOcStringIOモジュールです。

ioの機能や、それが必要とする使用しようとしているパッケージの詳細については、代替案をお勧めします。

+0

実際、私は別の人が書いたコードをデバッグしようとしています。私はこの人がioモジュールではなくcStringIOモジュール自体をインポートしたことがわかります。私はioモジュールがどこからでもインポートされていないことがわかります。しかし、まだ、私はエラーがあった:ioという名前のモジュールはありません。それは本当に変です –

+0

レンダリング中にViewDoesNotExistをキャッチ:mysite.lists.viewsをインポートできませんでした。エラー:ioという名前のモジュールがありません。私はちょうどこのエラーを取得します。実際には、このビューファイルはcStringIOモジュールをインポートしています。 –

+0

それは 'import cStringIO'を実行するか、' from io import cStringIO'を実行するだけですか?2番目のバージョンの場合は、最初のバージョンに変更します。コードやトレースバックを投稿するには、元の質問に編集してください。 – agf

-2

Pythonを更新します。

自分でソースを構築するためのリソースがない場合は、のActivestateにアクセスし、Linux用のASバージョンをダウンロードしてください。これはあなたのホームディレクトリにインストールすることができ、システムと一緒にインストールされているPythonから完全に分離されています。 Macをお持ちの場合は、Activestateディスクイメージを入手してください。

あなたがWindows上で、実際にはポータブルのPython http://www.portablepython.com/または移動可能なPythonのhttp://code.google.com/p/movable-python/

を取得し、その後管理者権限を持っていない場合は、多くのPythonのライブラリがPythonのサイトのパッケージライブラリにそのファイルをコピーするだけでインストールすることができますフォルダ。同様に、あなたがインストールしたのと同じバージョンのPythonにアクセスできる場合、ioモジュール(io.pyという名前の単一のファイル)をコピーすることによってインストールを修復することも、現在のバージョンにio.pyをインストールすることもできます同じ方法で機能します。

Pythonモジュールの構造、PYTHONPATH環境変数の働き、sys.path(import sys; print sys.path)とPythonのディレクトリのレイアウトを知る時間をおいてください。

あなたがPythonについて真剣なら、システム管理者のスクリプトを実行していない限り、PythonのOSインストールバージョンを使用しないでください。実際のアプリケーション開発では、開発環境を担当することが求められます。

+2

彼は具体的に彼はPythonをアップグレードできないと言いました。私はこれがノウハウの欠如ではなく、外部の制限であると仮定しています。 – agf

+0

私はこれが外部の制限であると仮定しました。 IT担当者は、Windows PCやUNIXサーバーにインストールすることを禁止しています。これは、標準のビルドを変更して変更するためです。だからこそ私は、標準ビルドを変更せずにアップグレードする方法を説明しましたが、その横に追加することで説明しました。ケーキを食べて食べることもできます。何も破壊されないように、標準システムのPythonだけを残し、ビルドしているアプリケーションの一部として独自のPythonを側にインストールします。 –