mediawiki-client-tools / mediawiki-dump-generator

Python 3 tools for downloading and preserving wikis
https://github.com/mediawiki-client-tools/mediawiki-scraper
GNU General Public License v3.0
89 stars 14 forks source link

Running `wikiteam3` in Termux #9

Closed Skhsouravhalder closed 2 years ago

Skhsouravhalder commented 2 years ago
```text Collecting pycparser Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB) Using legacy 'setup.py install' for msgpack, since package 'wheel' is not installed. Using legacy 'setup.py install' for cffi, since package 'wheel' is not installed. Building wheels for collected packages: cryptography Building wheel for cryptography (pyproject.toml) ... error error: subprocess-exited-with-error × Building wheel for cryptography (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [169 lines of output] running bdist_wheel running build running build_py creating build creating build/lib.linux-armv8l-3.10 creating build/lib.linux-armv8l-3.10/cryptography copying src/cryptography/__about__.py -> build/lib.linux-armv8l-3.10/cryptography copying src/cryptography/__init__.py -> build/lib.linux-armv8l-3.10/cryptography copying src/cryptography/exceptions.py -> build/lib.linux-armv8l-3.10/cryptography copying src/cryptography/fernet.py -> build/lib.linux-armv8l-3.10/cryptography copying src/cryptography/utils.py -> build/lib.linux-armv8l-3.10/cryptography creating build/lib.linux-armv8l-3.10/cryptography/hazmat copying src/cryptography/hazmat/__init__.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat copying src/cryptography/hazmat/_oid.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat creating build/lib.linux-armv8l-3.10/cryptography/x509 copying src/cryptography/x509/__init__.py -> build/lib.linux-armv8l-3.10/cryptography/x509 copying src/cryptography/x509/base.py -> build/lib.linux-armv8l-3.10/cryptography/x509 copying src/cryptography/x509/certificate_transparency.py -> build/lib.linux-armv8l-3.10/cryptography/x509 copying src/cryptography/x509/extensions.py -> build/lib.linux-armv8l-3.10/cryptography/x509 copying src/cryptography/x509/general_name.py -> build/lib.linux-armv8l-3.10/cryptography/x509 copying src/cryptography/x509/name.py -> build/lib.linux-armv8l-3.10/cryptography/x509 copying src/cryptography/x509/ocsp.py -> build/lib.linux-armv8l-3.10/cryptography/x509 copying src/cryptography/x509/oid.py -> build/lib.linux-armv8l-3.10/cryptography/x509 creating build/lib.linux-armv8l-3.10/cryptography/hazmat/backends copying src/cryptography/hazmat/backends/__init__.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends copying src/cryptography/hazmat/backends/interfaces.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends creating build/lib.linux-armv8l-3.10/cryptography/hazmat/bindings copying src/cryptography/hazmat/bindings/__init__.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/bindings creating build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/__init__.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/_asymmetric.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/_cipheralgorithm.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/_serialization.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/cmac.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/constant_time.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/hashes.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/hmac.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/keywrap.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/padding.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives copying src/cryptography/hazmat/primitives/poly1305.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives creating build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/__init__.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/aead.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/backend.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/ciphers.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/cmac.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/decode_asn1.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/dh.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/dsa.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/ec.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/ed25519.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/ed448.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/encode_asn1.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/hashes.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/hmac.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/poly1305.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/rsa.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/utils.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/x25519.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/x448.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl copying src/cryptography/hazmat/backends/openssl/x509.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/backends/openssl creating build/lib.linux-armv8l-3.10/cryptography/hazmat/bindings/openssl copying src/cryptography/hazmat/bindings/openssl/__init__.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/bindings/openssl copying src/cryptography/hazmat/bindings/openssl/_conditional.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/bindings/openssl copying src/cryptography/hazmat/bindings/openssl/binding.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/bindings/openssl creating build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/__init__.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/dh.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/dsa.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/ec.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/ed25519.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/ed448.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/padding.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/rsa.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/types.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/utils.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/x25519.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric copying src/cryptography/hazmat/primitives/asymmetric/x448.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/asymmetric creating build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/ciphers copying src/cryptography/hazmat/primitives/ciphers/__init__.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/ciphers copying src/cryptography/hazmat/primitives/ciphers/aead.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/ciphers copying src/cryptography/hazmat/primitives/ciphers/algorithms.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/ciphers copying src/cryptography/hazmat/primitives/ciphers/base.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/ciphers copying src/cryptography/hazmat/primitives/ciphers/modes.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/ciphers creating build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/__init__.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/concatkdf.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/hkdf.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/kbkdf.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/pbkdf2.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/scrypt.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/kdf copying src/cryptography/hazmat/primitives/kdf/x963kdf.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/kdf creating build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/serialization copying src/cryptography/hazmat/primitives/serialization/__init__.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/serialization copying src/cryptography/hazmat/primitives/serialization/base.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/serialization copying src/cryptography/hazmat/primitives/serialization/pkcs12.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/serialization copying src/cryptography/hazmat/primitives/serialization/pkcs7.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/serialization copying src/cryptography/hazmat/primitives/serialization/ssh.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/serialization creating build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/twofactor copying src/cryptography/hazmat/primitives/twofactor/__init__.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/twofactor copying src/cryptography/hazmat/primitives/twofactor/hotp.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/twofactor copying src/cryptography/hazmat/primitives/twofactor/totp.py -> build/lib.linux-armv8l-3.10/cryptography/hazmat/primitives/twofactor running egg_info writing src/cryptography.egg-info/PKG-INFO writing dependency_links to src/cryptography.egg-info/dependency_links.txt writing requirements to src/cryptography.egg-info/requires.txt writing top-level names to src/cryptography.egg-info/top_level.txt reading manifest file 'src/cryptography.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching 'docs/_build' warning: no previously-included files found matching 'vectors' warning: no previously-included files matching '*' found under directory 'vectors' warning: no previously-included files matching '*' found under directory '.github' warning: no previously-included files found matching 'release.py' warning: no previously-included files found matching '.coveragerc' warning: no previously-included files found matching 'codecov.yml' warning: no previously-included files found matching '.readthedocs.yml' warning: no previously-included files found matching 'dev-requirements.txt' warning: no previously-included files found matching 'tox.ini' warning: no previously-included files found matching 'mypy.ini' warning: no previously-included files matching '*' found under directory '.circleci' adding license file 'LICENSE' adding license file 'LICENSE.APACHE' adding license file 'LICENSE.BSD' adding license file 'LICENSE.PSF' writing manifest file 'src/cryptography.egg-info/SOURCES.txt' copying src/cryptography/py.typed -> build/lib.linux-armv8l-3.10/cryptography creating build/lib.linux-armv8l-3.10/cryptography/hazmat/bindings/_rust copying src/cryptography/hazmat/bindings/_rust/__init__.pyi -> build/lib.linux-armv8l-3.10/cryptography/hazmat/bindings/_rust copying src/cryptography/hazmat/bindings/_rust/asn1.pyi -> build/lib.linux-armv8l-3.10/cryptography/hazmat/bindings/_rust copying src/cryptography/hazmat/bindings/_rust/ocsp.pyi -> build/lib.linux-armv8l-3.10/cryptography/hazmat/bindings/_rust copying src/cryptography/hazmat/bindings/_rust/x509.pyi -> build/lib.linux-armv8l-3.10/cryptography/hazmat/bindings/_rust running build_ext generating cffi module 'build/temp.linux-armv8l-3.10/_openssl.c' creating build/temp.linux-armv8l-3.10 running build_rust =============================DEBUG ASSISTANCE============================= If you are seeing a compilation error please try the following steps to successfully install cryptography: 1) Upgrade to the latest pip and try again. This will fix errors for most users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip 2) Read https://cryptography.io/en/latest/installation/ for specific instructions for your platform. 3) Check our frequently asked questions for more information: https://cryptography.io/en/latest/faq/ 4) Ensure you have a recent Rust toolchain installed: https://cryptography.io/en/latest/installation/#rust Python: 3.10.4 platform: Linux-4.9.82-perf+-armv8l-with-libc pip: n/a setuptools: 61.3.1 setuptools_rust: 1.2.0 =============================DEBUG ASSISTANCE============================= error: can't find Rust compiler If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler. To update pip, run: pip install --upgrade pip and then retry package installation. If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at https://rustup.rs) is the recommended way to download and update the Rust compiler toolchain. This package requires Rust >=1.41.0. [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for cryptography Failed to build cryptography ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects ```

How to fix it

elsiehupp commented 2 years ago

Hi @Skhsouravhalder—thanks for submitting this!

What command did you run that produced this output? And what operating system are you on?

The message you posted suggests you run the following command:

pip install --upgrade pip

If you upgrade pip and then rerun your initial command, does that fix the problem?

Skhsouravhalder commented 2 years ago

I'm

pip install --upgrade pip

Show this

Requirement already satisfied: pip in /data/data/com.termux/files/usr/lib/python3.10/site-packages (22.0.4)

Then I'm again type

pip install poetry

And same problem show again

![Screenshot_20220403_033127](https://user-images.githubusercontent.com/54745263/161401909-7146afd5-31ec-4ae4-969c-0884c9018b04.jpg)
Skhsouravhalder commented 2 years ago

@elsiehupp hi I'm use termux and use

git clone https://github.com/elsiehupp/wikiteam3
pip install poetry

Then show error up image

Then trying

pip install --upgrade pip

Show this

Requirement already satisfied: pip in /data/data/com.termux/files/usr/lib/python3.10/site-packages (22.0.4)

Then I'm again type

pip install poetry

And same problem show again

I have a request Can I talk to you directly on the telegram or at the IRC. You have telegram wikiteam help group.

elsiehupp commented 2 years ago

Hi @Skhsouravhalder

The social media information in the README is not mine and is more or less defunct. (I've been meaning to remove it from my version of the repository.)

If necessary you can reach me on Matrix/Element at @elsiehupp:matrix.org. (Matrix is basically a modernized version of IRC.)

I did some searching, and it looks like you can install Rust on Termux using the following command:

$ pkg install rust

If you run that, can you try running the other install command again?

$ pip install --force-reinstall dist/*.whl
elsiehupp commented 2 years ago

I'm looking at the Termux documentation, and while it uses Debian's apt package manager, it uses a wrapper with the name pkg, hence the above.

One complication is that pip seems to be confused by the subtle differences behind the scenes, which is why you're getting the error messages saying you're missing various packages.

I installed Termux on an Android emulator on my laptop and ran through the steps myself, and installing these packages seems to make the rest of the installation work. (Note that you have some of these already installed, but rerunning these commands doesn't hurt.)

pkg update && pkg upgrade && pkg install git libxslt python

Note: When you're prompted to continue type Y, and when you're prompted to replace an existing configuration file type N.

At this point you should be able to continue with:

git clone https://github.com/elsiehupp/wikiteam3.git
cd wikiteam3
pip install --force-reinstall dist/*.whl
elsiehupp commented 2 years ago

I'm closing this because I think we've figured out what's necessary to run wikiteam3 in Termux.