On Jan 22, 2010, at 11:09 PM, Jasper Frumau wrote:

> On Sat, Jan 23, 2010 at 6:26 AM, Scott Haneda <[email protected]> wrote:
> 
>> Do what Daniel suggested in the beginning of this thread.
>> First, test with the full path, so run:
>> 
>> /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py
>> startproject
>> on the command line.
> 
> OK, I did (And read some more about $PATH):
> 
> Jaspers-MacBook-Pro:~ jasper$ sudo
> /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py
> sudo: /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py:
> command not found
> 
>> If that works,

I am not sure how the command can not be found, since it was called implicitly. 
 How about we try a few other things, keeping in mind, I know nothing about 
django.

Though this is interesting:
http://dl.dropbox.com/u/340087/drops/01.23.10/django-9cc2b400-011835.png
If google auto complete is any indication that others are having the same 
issue, and I can estimate that those "others" are more than likely not ports 
users, this seems to be a Django issue.

The first hit in google:
http://code.djangoproject.com/wiki/InstallationPitfalls

I am not sure I agree with that solution.  Even though you do not have the 
Django bin in your path, we called it direct.  Lets try a different method:
$cd /opt/local/lib/python2.4/site-packages/django/bin/
$ls -la
What does that report? Just the line for 'django-admin.py' will suffice, I want 
to see the permissions.

While in the above bin directory, assuming the file is +x, so the rwx's in the 
first column, end in an 'x', what happens when you run:
$sudo ./django-admin.py

If the file is not executable:
$cd /opt/local/lib/python2.4/site-packages/django/bin/
$sudo cp django-admin.py django-admin.fix.py 
$sudo chmod +x django-admin.fix.py 

Also strange, this trac note states the same about the PATH:
http://code.djangoproject.com/ticket/4679

Looking over some more notes, it does look as though people are symbolic 
linking their Django stuff into some place that their PATH looks.  You may want 
to give this a try, since of the above links, and two more, that is working for 
them:

sudo ln -s /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py 
/opt/local/bin/

>> then add the django bin to your path, which is probably in one of the do
>> files in ~
>> Try this:
>> $cd ~
>> $grep PATH ~/.profile
> 
> Jaspers-MacBook-Pro:~ jasper$ grep PATH ~/.profile
> # MacPorts Installer addition on 2009-10-20_at_13:11:20: adding an
> appropriate PATH variable for use with MacPorts.
> export PATH=/opt/local/bin:/opt/local/sbin:$PATH
> # Finished adapting your PATH environment variable for use with MacPorts.

I am not sure how I feel about altering PATH to add just a Django point to it, 
so the `ln -s` may be a better method, and seems to be the more suggested 
method.  Though from the above, we can tell that your PATH is defined in 
~/.profile, which means, if you wanted to add Django's bin to that path, you 
would insert /opt/local/lib/python2.4/site-packages/django/bin: just before the 
trailing $PATH

Example:
export 
PATH=/opt/local/bin:/opt/local/sbin:/opt/local/lib/python2.4/site-packages/django/bin:$PATH

>> Also try other files that start with a dot, like .bashrc
> 
> Jaspers-MacBook-Pro:~ jasper$ grep PATH ~/.bashrc
> Jaspers-MacBook-Pro:~ jasper$ cat  ~/.bashrc
> alias mysqlstart='sudo /opt/local/bin/mysqld_safe5'
> alias mysqlstop='/opt/local/bin/mysqladmin5 -u root -p shutdown'

I just learned the other day about the `port load` and `port unload` commands, 
which save you the aliasing, and are quite handy.

$sudo port load mysql5
$sudo port unload mysql5

 -- same works for Apache2 also --

I imagine the same works for any "startup item" driven port software that has 
been installed.  Very handy indeed.

>> and .bash_profile
> 
> Not found

There was a lengthy discussion about the difference in the various .profile, 
.bashrc, .bash_profile and other simialr files here on the mailing list a few 
months back.  I was the thread starter.  Perhaps you can find it in the 
archives, as I learned a ton from it.  You do not need .bash_profile though.  
It was just a check to see where your PATH has been set at.

> Yes I will. Normally do so, but forgot to last night...
> 
>> * On a side note, could one just symblink
>> /opt/local/lib/python2.4/site-packages/django/bin to /opt/local/bin and save
>> the hassle of an increasingly long PATH?  I have added apache's bin to mine,
>> and a few others.  I am not sure how I feel about the symblinking, but
>> wanted to know if it wold work.
> 
> Well symlink as in:
> 
> A symbolic link path2 is created to path1 (path2 is the name of the file
> created, path1 is the string
>     used in creating the symbolic link).  Either name may be an arbitrary
> path name; the files need not be
>     on the same file system.
> 
> would be good but the real path does not seem to work either:

That could be Django specific, or permissions or execute bit issues.  It seems 
a common problem based on the evidence above.

> Jaspers-MacBook-Pro:~ jasper$ sudo
> /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py
> Password:
> sudo: /opt/local/lib/python2.4/site-packages/django/bin/django-admin.py:
> command not found
> Jaspers-MacBook-Pro:~ jasper$ sudo cd
> /opt/local/lib/python2.4/site-packages/django/bin/

I do not think you an sudo a `cd`, which is why you did not actually change 
directory and are still in your home dir (~).  Try `sudo -s` which will put you 
in a postion to not have to `sudo` every command, as well as maintain your 
current ENV.

> Jaspers-MacBook-Pro:~ jasper$ ls
> ABC            Downloads        Pictures        TextMate-Projects
> Apartment-One        Library            Public            Webbills
> Desktop            Movies            Sites            Webdesign
> Documents        Music            Storage            www.kinkfm.com

Your `cd` command did not work.

> Jaspers-MacBook-Pro:~ jasper$ cd
> /opt/local/lib/python2.4/site-packages/django/bin/
> Jaspers-MacBook-Pro:bin jasper$ ls
> __init__.py        daily_cleanup.py    make-messages.py
> unique-messages.pyc
> __init__.pyc        daily_cleanup.pyc    make-messages.pyc
> compile-messages.py    django-admin.py        profiling
> compile-messages.pyc    django-admin.pyc    unique-messages.py

Ok, I guess I should have read the entire email before starting the reply :) I 
will leave the rest of the noise I typed above there though, as it does offer 
suggestions on permissions that could be related.  Ignore the bits where you 
have already `cd`'d into the correct directory.

> Jaspers-MacBook-Pro:bin jasper$ django-admin.py
> -bash: django-admin.py: command not found

This one you are probably going to need to `sudo` unless you are still in `sudo 
-s` which you will be able to tell because the shell will say 'root' for the 
username.

I would start hitting up google and also the Django mailing lists, as this is 
pretty clearly not a MacPorts issue, from what I can tell.

-- 
Scott * If you contact me off list replace talklists@ with scott@ * 

_______________________________________________
macports-users mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macports-users

Reply via email to