Oh yeah, and the biggest thing: Thanks you guys! You're awesome. Now to
figure out deploying the site on WebFaction with mod_wsgi :)

On Fri, Feb 13, 2009 at 1:18 AM, Stephen DeGrace <degr...@gmail.com> wrote:

> LOL I'm an even bigger idiot than you guys think :). At the end of the
> operation when I was changing the name of the directory itself I confused
> myself with a symlink and changed the name of the symlink, not the real
> directory. Changed the name of the directory, problem go bye bye. Weird eh?
> Anyway, I won't try that again, although it was interesting. Can you believe
> I did not know you didn't have the use the project name in imports. I went
> through my entire project and got rid of the project name in imports.
>
>
> On Fri, Feb 13, 2009 at 12:43 AM, Stephen DeGrace <degr...@gmail.com>wrote:
>
>> Well, if I can't fix it it's not the end of the world because it's backed
>> up with the old name, but I really want to figure out how to go about
>> changing the project name. Anyway both names are pretty distinctive and
>> extremely unlikely to occur incidentally in any unrelated strings.
>>
>> I'll post the traceback below. I removed all pyc files like you suggested.
>> IT's loading the settings file and choking when it hits the first of my apps
>> in installed_apps no matter which one that is (i.e., it doesn't matter what
>> order I put them).
>>
>> So, how do you go about minimizing project-name dependency, anyway?
>>
>> Traceback (most recent call last):
>>   File "manage.py", line 11, in <module>
>>     execute_manager(settings)
>>   File
>> "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line
>> 340, in execute_manager
>>     utility.execute()
>>   File
>> "/usr/lib/python2.5/site-packages/django/core/management/__init__.py", line
>> 295, in execute
>>     self.fetch_command(subcommand).run_from_argv(self.argv)
>>   File "/usr/lib/python2.5/site-packages/django/core/management/base.py",
>> line 192, in run_from_argv
>>     self.execute(*args, **options.__dict__)
>>   File "/usr/lib/python2.5/site-packages/django/core/management/base.py",
>> line 219, in execute
>>     output = self.handle(*args, **options)
>>   File "/usr/lib/python2.5/site-packages/django/core/management/base.py",
>> line 348, in handle
>>     return self.handle_noargs(**options)
>>   File
>> "/usr/lib/python2.5/site-packages/django/core/management/commands/shell.py",
>> line 18, in handle_noargs
>>     loaded_models = get_models()
>>   File "/usr/lib/python2.5/site-packages/django/db/models/loading.py",
>> line 136, in get_models
>>     self._populate()
>>   File "/usr/lib/python2.5/site-packages/django/db/models/loading.py",
>> line 57, in _populate
>>     self.load_app(app_name, True)
>>   File "/usr/lib/python2.5/site-packages/django/db/models/loading.py",
>> line 72, in load_app
>>     mod = __import__(app_name, {}, {}, ['models'])
>> ImportError: No module named newname.filebrowser
>>
>>
>> On Fri, Feb 13, 2009 at 12:06 AM, Malcolm Tredinnick <
>> malc...@pointy-stick.com> wrote:
>>
>>>
>>> On Thu, 2009-02-12 at 19:45 -0800, stevedegrace wrote:
>>> > I think I might have bitten off more than I can chew here, heh, and I
>>> > need some help. I just finished my project and it looks awesome on my
>>> > computer at home (running Ubuntu Intrepid). But before I deployed it,
>>> > I decided I didn't like the retarded name I gave the project and I
>>> > wanted to change it. No problem, I just did this in the project
>>> > directory:
>>> >
>>> > $ find ./ -type f -exec perl -pi -e 's/oldname/newname/g' {} \;
>>>
>>> Hmm ... that could have any number of unintended side-effects. Hope that
>>> string didn't accidentally occur anywhere else.
>>>
>>> Just to be safe, I'd certainly make sure I blew away any .pyc files
>>> after doing the above to make sure they were recompiled correctly next
>>> time around. In the longer term, I'd work on removing as many
>>> dependencies on the project name as possible from the code (which should
>>> be pretty much all of them).
>>>
>>> > Worked like a charm,
>>>
>>> !?! Presumably you're talking about the kind of chalm one puts on an
>>> apple before giving it to Snow White, rather than the good kind, based
>>> on what follows in your mail.
>>>
>>> >  I've gone through and all the instances have been
>>> > replaced. Changed the name of my sqlite db instead of changing back
>>> > the path to the db in settings.py.
>>> >
>>> > Only now when I run:
>>> >
>>> > $ python manage.py shell
>>> >
>>> > or anything like that, it raises ImportError the first time it hits
>>> > one of my applications in the INSTALLED_APPS list.
>>>
>>> It does more than that. It gives you a huge traceback telling you what
>>> it was trying to import, etc. That information contains the clues about
>>> what went wrong. In particular, the last line will say something like
>>> "no module called....". What's it trying to import and what isn't it
>>> finding that?
>>>
>>> > I looked at the
>>> > code of manage.py and all it seems to do is import settings, it isn't
>>> > obviously adding the project directory to sys.path. That seems to be
>>> > the key missing element here. Aside from hacking my manage.py file to
>>> > make it do what I think it should, how does Django normally figure out
>>> > how to import project modules?
>>>
>>> It just uses the normal Python path, nothing special. The only exception
>>> is that ./manage.py adds the "current" directory (the one containing
>>> manage.py) to the Python path so that project-named imports will work
>>> without people having to learn about Python path. Unfortunate (since it
>>> hides a problem, not fixes one), but it's not a big deal.
>>>
>>> To debug this further, apart from removing the .pyc files, I would also
>>> copy the source files (or do a fresh checkout if you're using version
>>> control) to a new directory and try running "syncdb" again. If that
>>> works, you know the problem is caused by some detritus in the original
>>> directory. If not, you've eliminated one more thing. Really, though, the
>>> import error is going to be the place to start: working out why that
>>> module isn't available.
>>>
>>> Regards,
>>> Malcolm
>>>
>>>
>>> >>>
>>>
>>
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to 
django-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to