Running phantomjs on linux using python
Question: I followed [this link](http://stackoverflow.com/questions/8778513/how-can-i-
setup-run-phantomjs-on-ubuntu) and now when I type `phan` and then tab (`\t`)
it does autocomplete to phantomJS.

Yet if I run `phantomJS -v` or `phantomJS --version` I get:

    
    
    bash: /usr/local/bin/phantomjs: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
    

Additionally if I try to run:

    
    
    >>> from selenium import webdriver
    >>> driver = webdriver.PhantomJS()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/phantomjs/webdriver.py", line 50, in __init__
        service_args=service_args, log_path=service_log_path)
      File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/phantomjs/service.py", line 50, in __init__
        service.Service.__init__(self, executable_path, port=port, log_file=open(log_path, 'w'))
    IOError: [Errno 13] Permission denied: 'ghostdriver.log'
    >>> 
    

If I try to follow [this I
get](http://stackoverflow.com/questions/17048594/how-to-disable-or-change-the-
path-of-ghostdriver-log):

    
    
    >>> import os
    >>> driver = webdriver.PhantomJS(service_log_path=os.path.devnull)
    Exception AttributeError: "'Service' object has no attribute 'log_file'" in <bound method Service.__del__ of <selenium.webdriver.phantomjs.service.Service object at 0x7f182ec13690>> ignored
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/phantomjs/webdriver.py", line 51, in __init__
        self.service.start()
      File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 69, in start
        os.path.basename(self.path), self.start_error_message)
    selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable needs to be in PATH. 
    
    >>> 
    

Is my selenium/phatnomjs installed with the proper rights?

I created a directory `/home/ec2-user/temp` and set:

    
    
    chmod 777 /home/ec2-user/temp
    

Yet

    
    
    >>> from selenium import webdriver
    >>> driver = webdriver.PhantomJS(service_log_path='/home/ec2-user/temp/ghostdriver.log')
    

Yields:

    
    
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/phantomjs/webdriver.py", line 51, in __init__
        self.service.start()
      File "/usr/local/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 69, in start
        os.path.basename(self.path), self.start_error_message)
    selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable needs to be in PATH. 
    

If I type `which phantomjs` I get:

    
    
    $ which phantomjs
    /usr/local/bin/phantomjs
    


Answer: It very much sounds like a 64 vs 32 bits issue.

To find out whats the version of your ubuntu, you can run

    
    
    $ uname -i
    x86_64
    

Then make sure to [download](http://phantomjs.org/download.html) the correct
version of phantom

  * 32 bits version: <https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-i686.tar.bz2>
  * 64 bits version: <https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2>

Also make sure your lib are corresponding to the version of your OS.

