boakley / robotframework-pageobjectlibrary

Lightweight keyword library for implementing the PageObject pattern in Robot Framework
Apache License 2.0
78 stars 57 forks source link

Installation issue with Python 3.6 #14

Open mrBuG opened 6 years ago

mrBuG commented 6 years ago

There is an issue with installation the package against Python 3.6.4

Downloading https://files.pythonhosted.org/packages/88/21/fa58016bae1a0bbe693ed745d188ef3b01c75ad3b575c9b7cd540522da07/robotframework-pageobjectlibrary-0.1.7.tar.gz Complete output from command python setup.py egg_info: Traceback (most recent call last): File "", line 1, in File "C:\Users\avasilev\AppData\Local\Temp\pip-install-p80l_dxl\robotframework-pageobjectlibrary\setup.py", line 5, in

execfile('PageObjectLibrary/version.py') NameError: name 'execfile' is not defined
boakley commented 6 years ago

yes, unfortunately the installer doesn't work in python3. I'm aware of the problem and hope to have a fix as soon as I can find the time.

On Wed, Apr 18, 2018 at 4:14 AM, Alexey notifications@github.com wrote:

There is an issue with installation the package against Python 3.6.4

Downloading https://files.pythonhosted.org/packages/88/21/ fa58016bae1a0bbe693ed745d188ef3b01c75ad3b575c9b7cd540522da07/rob otframework-pageobjectlibrary-0.1.7.tar.gz Complete output from command python setup.py egg_info: Traceback (most recent call last): File "", line 1, in File "C:\Users\avasilev\AppData\ Local\Temp\pip-install-p80l_dxl\robotframework-pageobjectlibrary\setup.py", line 5, in execfile('PageObjectLibrary/version.py') NameError: name 'execfile' is not defined

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/boakley/robotframework-pageobjectlibrary/issues/14, or mute the thread https://github.com/notifications/unsubscribe-auth/ABEmYvvws4oYPLxxfGnru9hVTK43jrElks5tpwPkgaJpZM4TZs2Q .

darrylwhiting commented 6 years ago

This worked for me (tested only on Python 3.6.4):

Comment out the following line in setup.py:

execfile('PageObjectLibrary/version.py')

and replace with the below.

exec(open('PageObjectLibrary/version.py').read())

if you need setup.py to be compatible with both 2.x and 3.x, add the following to setup.py (tested only on Python 3.6.4):

# N.B. to push a new version to PyPi, update the version number
# in rfhub/version.py and then run 'python setup.py sdist upload'
import sys
from setuptools import setup

if sys.version_info[0] > 2:
    exec(open('PageObjectLibrary/version.py').read())   
else:   
    execfile('PageObjectLibrary/version.py')

setup(
    name             = 'robotframework-pageobjectlibrary',
    version          = __version__,
    author           = 'Bryan Oakley',
    author_email     = 'bryan.oakley@gmail.com',
    url              = 'https://github.com/boakley/robotframework-pageobjectlibrary/',
    keywords         = 'robotframework',
    license          = 'Apache License 2.0',
    description      = 'RobotFramework library that implements the Page Object pattern',
    long_description = open('README.md', encoding='latin-1').read(),
    zip_safe         = True,
    include_package_data = True,
    install_requires = ['robotframework', 'robotframework-selenium2library', 'selenium', 'six'],
    classifiers      = [
        "Development Status :: 4 - Beta",
        "License :: OSI Approved :: Apache Software License",
        "Operating System :: OS Independent",
        "Framework :: Robot Framework",
        "Programming Language :: Python",
        "Topic :: Software Development :: Testing",
        "Topic :: Software Development :: Quality Assurance",
        "Intended Audience :: Developers",
        ],
    packages         =[
        'PageObjectLibrary',
    ],
    scripts          =[], 
)
itsanjan commented 6 years ago

Does not work for python 3.7.1 `Installing robotframework-pageobjectlibrary… Collecting robotframework-pageobjectlibrary Downloading https://files.pythonhosted.org/packages/88/21/fa58016bae1a0bbe693ed745d188ef3b01c75ad3b575c9b7cd540522da07/robotframework-pageobjectlibrary-0.1.7.tar.gz Complete output from command python setup.py egg_info: Traceback (most recent call last): File "", line 1, in File "C:\Users\kumanz\AppData\Local\Temp\pip-install-dcv_diio\robotframework-pageobjectlibrary\setup.py", line 5, in execfile('PageObjectLibrary/version.py') NameError: name 'execfile' is not defined

----------------------------------------

Error: An error occurred while installing robotframework-pageobjectlibrary! Command "python setup.py egg_info" failed with error code 1 in C:\Users\kumanz\AppData\Local\Temp\pip-install-dcv_diio\robotframework-pageobjectlibrary`

darrylwhiting commented 5 years ago

@itsanjan, the corrected "setup.py" is in a fork by @andrewordiales. You can manually add the changes I suggested, or go to @andrewordiales Github page: Fork