1

I am trying to deploy a InstaPy Bot (https://github.com/timgrossmann/InstaPy) Heroku. My code looks as follows

from instapy import InstaPy
from instapy import smart_run
import time
from datetime import datetime
import schedule

# login credentials
insta_username = 'myUsername'
insta_password = 'myPassword'

# start a session
def get_session():
    session = InstaPy(username=insta_username,
                      password=insta_password,
                      headless_browser=True)
    return session

def likeByTags(tags_to_like, amount_of_likes):
    print("InstaPy LikeByTags Started @ {}".format(datetime.now().strftime("%H:%M:%S")))

    session = get_session()

    with smart_run(session):
        try:
            session.like_by_tags(tags=tags_to_like, amount=amount_of_likes)

        except Exception:
            print(traceback.format_exc())

likeByTags(['natgeo', 'photography'], 5)

If I run it locally, it works perfectly, but when I deploy it to heroku, I get this error in the heroku logs:

2020-08-08T02:06:34.016993+00:00 app[worker.1]: Error, unable to determine correct filename for 64bit linux
2020-08-08T02:06:34.017045+00:00 app[worker.1]: Traceback (most recent call last):
2020-08-08T02:06:34.017046+00:00 app[worker.1]: File "app.py", line 70, in <module>
2020-08-08T02:06:34.017230+00:00 app[worker.1]: likeByTags(['natgeo', 'photography'], 5)
2020-08-08T02:06:34.017236+00:00 app[worker.1]: File "app.py", line 22, in likeByTags
2020-08-08T02:06:34.017400+00:00 app[worker.1]: session = get_session()
2020-08-08T02:06:34.017406+00:00 app[worker.1]: File "app.py", line 16, in get_session
2020-08-08T02:06:34.017590+00:00 app[worker.1]: headless_browser=False)
2020-08-08T02:06:34.017595+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.6/site-packages/instapy/instapy.py", line 323, in __init__
2020-08-08T02:06:34.017858+00:00 app[worker.1]: self.logger,
2020-08-08T02:06:34.017869+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.6/site-packages/instapy/browser.py", line 120, in set_selenium_local_session
2020-08-08T02:06:34.018050+00:00 app[worker.1]: driver_path = geckodriver_path or get_geckodriver()
2020-08-08T02:06:34.018051+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.6/site-packages/instapy/browser.py", line 36, in get_geckodriver
2020-08-08T02:06:34.018194+00:00 app[worker.1]: sym_path = gdd.download_and_install()[1]
2020-08-08T02:06:34.018208+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.6/site-packages/webdriverdownloader/webdriverdownloader.py", line 177, in download_and_install
2020-08-08T02:06:34.018435+00:00 app[worker.1]: show_progress_bar=show_progress_bar)
2020-08-08T02:06:34.018435+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.6/site-packages/webdriverdownloader/webdriverdownloader.py", line 129, in download
2020-08-08T02:06:34.018633+00:00 app[worker.1]: download_url = self.get_download_url(version, os_name=os_name, bitness=bitness)
2020-08-08T02:06:34.018639+00:00 app[worker.1]: File "/app/.heroku/python/lib/python3.6/site-packages/webdriverdownloader/webdriverdownloader.py", line 324, in get_download_url
2020-08-08T02:06:34.018894+00:00 app[worker.1]: raise RuntimeError(info_message)
2020-08-08T02:06:34.018937+00:00 app[worker.1]: RuntimeError: Error, unable to determine correct filename for 64bit linux
2020-08-08T02:06:34.110214+00:00 heroku[worker.1]: Process exited with status 1

I've read that I would have to go to the webdriverdownloader.py file and modify something, but that would not affect it inside Heroku. So what else should I do?

Samuel Mariña
  • 109
  • 3
  • 15

0 Answers0