I am trying to install a Python (C-extension, if it matters) package that is located in a mounted directory, which for security reasons is read-only. However, by default pip will build the package in a subdirectory called build in its own location, which I can't.
$ pip install /mnt/remote/pkgname
Processing /mnt/remote/pkgname
Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for pkgname, since package 'wheel' is not installed.
Installing collected packages: pkgname
Attempting uninstall: pkgname
Found existing installation: pkgname 1.0.0
Uninstalling pkgname-1.0.0:
Successfully uninstalled pkgname-1.0.0
Running setup.py install for pkgname ... error
ERROR: Command errored out with exit status 1:
command: /path/to/venv/bin/python3.8 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/mnt/remote/pkgname/setup.py'"'"'; __file__='"'"'/mnt/remote/pkgname/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-84ofxq5a/install-record.txt --single-version-externally-managed --compile --install-headers /path/to/venv/include/site/python3.8/pkgname
cwd: /mnt/remote/pkgname/
Complete output (6 lines):
running install
running build
running build_ext
building '_pkgname' extension
creating build
error: could not create 'build': Read-only file system
----------------------------------------
Rolling back uninstall of pkgname
Moving to /path/to/venv/lib/python3.8/site-packages/_pkgname.cpython-38-x86_64-linux-gnu.so
from /tmp/pip-uninstall-6pwxs8h_/_pkgname.cpython-38-x86_64-linux-gnu.so
Moving to /path/to/venv/lib/python3.8/site-packages/pkgname-1.0.0.egg-info
from /path/to/venv/lib/python3.8/site-packages/~lclib-1.0.0.egg-info
ERROR: Command errored out with exit status 1: /path/to/venv/bin/python3.8 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/mnt/remote/pkgname/setup.py'"'"'; __file__='"'"'/mnt/remote/pkgname/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-84ofxq5a/install-record.txt --single-version-externally-managed --compile --install-headers /path/to/venv/include/site/python3.8/pkgname Check the logs for full command output.
I've tried to use combinations of the flags -e, --target <dir>, --src, but none of them changed the output.
Is there a way to compile the package without having to copy the folder locally?
Edit
I've just noticed there is a long discussion on this issue in https://github.com/pypa/pip/issues/10587.
A temporary solution is to run it with a deprecated option:
$ pip install --use-deprecated=out-of-tree-build /mnt/remote/pkgname
But this flag is set to stop working in version 22.1. I still need a long-term solution, and that issue link is probably where we'll get it.
you could use pip install -b customized_build_directory to specify another directory as build base directory, for example /tmp.
Related
Collecting autopy
Using cached autopy-4.0.0.tar.gz (20 kB)
Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for autopy, since package 'wheel' is not installed.
Installing collected packages: autopy
Running setup.py install for autopy ... error
ERROR: Command errored out with exit status 1:
command: 'c:\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Nitro 5\\AppData\\Local\\Temp\\pip-install-a48eed40\\autopy_364831de627945c491e2f14d454eac9f\\setup.py'"'"'; __file__='"'"'C:\\Users\\Nitro 5\\AppData\\Local\\Temp\\pip-install-a48eed40\\autopy_364831de627945c491e2f14d454eac9f\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\Nitro 5\AppData\Local\Temp\pip-record-6f8m7fge\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\python39\Include\autopy'
cwd: C:\Users\Nitro 5\AppData\Local\Temp\pip-install-a48eed40\autopy_364831de627945c491e2f14d454eac9f\
Complete output (22 lines):
running install
c:\python39\lib\site-packages\setuptools\command\install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build\lib.win-amd64-3.9
creating build\lib.win-amd64-3.9\autopy
copying autopy\__init__.py -> build\lib.win-amd64-3.9\autopy
running build_ext
running build_rust
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.
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Nitro 5\\AppData\\Local\\Temp\\pip-install-a48eed40\\autopy_364831de627945c491e2f14d454eac9f\\setup.py'"'"'; __file__='"'"'C:\\Users\\Nitro 5\\AppData\\Local\\Temp\\pip-install-a48eed40\\autopy_364831de627945c491e2f14d454eac9f\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\Nitro 5\AppData\Local\Temp\pip-record-6f8m7fge\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\python39\Include\autopy' Check the logs for full command output.
This issue seems to be on Py3.9 but not Py3.8. I just tried both.
The https://pypi.org/project/autopy/ page gives info on how to install autopy in case the standard pip install autopy fails.
According to that page:
First, see if a binary wheel is available for your machine by running:
$ pip install -U autopy
If that fails, install rustup [https://rustup.rs/] and then run:
$ rustup default nightly-2019-10-05
$ pip install -U setuptools-rust
$ pip install -U autopy
The above just did the trick for me on Py3.9.
I had several times to install autopy; I can't. Because my python version was 3.9; Only 3.8 can install autopy. I tried this and my autopy get installed.
If you want more versions of autopy, you checkout https://pypi.org/project/autopy/
Thanks.
I'm trying to install Odoo v13 dependencies, but it fail with the next error.
pip install -r ..\Odoo\13\odoo\requirements.txt
Seeing this, I tryed to install manually greenlet v0.4.10 (which is the version I need)
And It says that the problem is with Microsoft Visual C++ Build Tools. I tryed to install It and this happends (I reinstalled Microsoft Visual Studio Installer and Microsoft Visual C++ 2015):
pip install greenlet==0.4.0.
It shows me the next output:
Collecting greenlet==0.4.10
Using cached greenlet-0.4.10.zip (82 kB)
Preparing metadata (setup.py) ... done
Using legacy 'setup.py install' for greenlet, since package 'wheel' is not installed.
Installing collected packages: greenlet
Running setup.py install for greenlet ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\aresua\documents\vscodeprojects\odoo-13-addons\.venv\scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\aresua\\AppData\\Local\\Temp\\pip-install-xxf1xvcp\\greenlet_2223126928944440ab06138578a156c0\\setup.py'"'"'; __file__='"'"'C:\\Users\\aresua\\AppData\\Local\\Temp\\pip-install-xxf1xvcp\\greenlet_2223126928944440ab06138578a156c0\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\aresua\AppData\Local\Temp\pip-record-f2n6j60w\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\aresua\documents\vscodeprojects\odoo-13-addons\.venv\include\site\python3.6\greenlet'
cwd: C:\Users\aresua\AppData\Local\Temp\pip-install-xxf1xvcp\greenlet_2223126928944440ab06138578a156c0\
Complete output (5 lines):
running install
running build
running build_ext
building 'greenlet' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\aresua\documents\vscodeprojects\odoo-13-addons\.venv\scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\aresua\\AppData\\Local\\Temp\\pip-install-xxf1xvcp\\greenlet_2223126928944440ab06138578a156c0\\setup.py'"'"'; __file__='"'"'C:\\Users\\aresua\\AppData\\Local\\Temp\\pip-install-xxf1xvcp\\greenlet_2223126928944440ab06138578a156c0\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\aresua\AppData\Local\Temp\pip-record-f2n6j60w\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\aresua\documents\vscodeprojects\odoo-13-addons\.venv\include\site\python3.6\greenlet' Check the logs for full command output.
According to this, if you're using Windows, install MS visual C++ with: https://aka.ms/vs/16/release/vs_buildtools.exe
Then restart your PC.
I am in windows OS. I am using google colab ,I get these error ,when I run the code .I find this link [https://lxml.de/installation.html]. I dont familiar with Linux,so how to resolve it just in google colab. Any hint would be appreciated.
enter image description here
!pip install -q kaggle
!pip install -q kaggle-cli
Building wheel for lxml (setup.py) ... error
ERROR: Failed building wheel for lxml
Running setup.py install for lxml ... error
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-g0j7kmu8/lxml_93339675a71644a6aa1498a90b070e38/setup.py'"'"'; file='"'"'/tmp/pip-install-g0j7kmu8/lxml_93339675a71644a6aa1498a90b070e38/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /tmp/pip-record-u1erza7w/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.7/lxml Check the logs for full command output.
I was bored recently so I decided to do some programming and follow this tutorial which seemd interesting: https://www.youtube.com/watch?ev=8gPONnGIPgw&t=244s
During it, he installs the autopy module directly from pycharm, however when I try it directly myself from the settings in pycharm it doesn't work and I receive an error.
To combat this I decided to follow the instructions on the main site: https://pypi.org/project/autopy/
I tried the first
pip install autopy
command directly and got a massive error where it first said it failed to build the wheel, and then when it ran the second part setup.py it also gave a massive error saying it also failed.
From there I went to the second option:
rustup default nightly-2019-10-05
pip install -U setuptools-rust
pip install -U autopy
by installing rustup and running the other commands but it still fails and gives the "failed to build wheel" and setup.py failed error messages, the exact same ones as before.
Finally I tried the third option:
git clone git://github.com/autopilot-rs/autopy-rs.git
cd autopy
make
make install
by downloading the repository itself and then going into it and using make(that I installed via chocolatey in the powershell) and running these commands but it also fails.
I've tried all 3 methods and the internet is yielding minimum results, any help here or resources that may help is greatly appreciated.
EDIT:
my apologies I thought I added the error, here it is
Collecting autopy
Using cached autopy-4.0.0.tar.gz (20 kB)
Building wheels for collected packages: autopy
Building wheel for autopy (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\moham\appdata\local\programs\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\moham\\AppData\\Local\\Temp\\pip-install-9plfhi_h\\autopy_f9372250d2954cabaa93abb9058afa97\\setup.py'"'"'; __file__='"'"'C:\\Users\\moham\\AppData\\Local\\Temp\\pip-install-9plfhi_h\\autopy_f9372250d2954cabaa93abb9058afa97\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\moham\AppData\Local\Temp\pip-wheel-bt_24b82'
cwd: C:\Users\moham\AppData\Local\Temp\pip-install-9plfhi_h\autopy_f9372250d2954cabaa93abb9058afa97\
Complete output (21 lines):
running bdist_wheel
running build
running build_py
creating build
creating build\lib
creating build\lib\autopy
copying autopy\__init__.py -> build\lib\autopy
running build_ext
running build_rust
error: no override and no default toolchain set
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.
----------------------------------------
ERROR: Failed building wheel for autopy
Running setup.py clean for autopy
ERROR: Command errored out with exit status 1:
command: 'c:\users\moham\appdata\local\programs\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\moham\\AppData\\Local\\Temp\\pip-install-9plfhi_h\\autopy_f9372250d2954cabaa93abb9058afa97\\setup.py'"'"'; __file__='"'"'C:\\Users\\moham\\AppData\\Local\\Temp\\pip-install-9plfhi_h\\autopy_f9372250d2954cabaa93abb9058afa97\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' clean --all
cwd: C:\Users\moham\AppData\Local\Temp\pip-install-9plfhi_h\autopy_f9372250d2954cabaa93abb9058afa97
Complete output (18 lines):
running clean
removing 'build\lib' (and everything under it)
'build\bdist.win-amd64' does not exist -- can't clean it
'build\scripts-3.9' does not exist -- can't clean it
removing 'build'
running clean_rust
error: no override and no default toolchain set
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.
----------------------------------------
ERROR: Failed cleaning build dir for autopy
Failed to build autopy
Installing collected packages: autopy
Running setup.py install for autopy ... error
ERROR: Command errored out with exit status 1:
command: 'c:\users\moham\appdata\local\programs\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\moham\\AppData\\Local\\Temp\\pip-install-9plfhi_h\\autopy_f9372250d2954cabaa93abb9058afa97\\setup.py'"'"'; __file__='"'"'C:\\Users\\moham\\AppData\\Local\\Temp\\pip-install-9plfhi_h\\autopy_f9372250d2954cabaa93abb9058afa97\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\moham\AppData\Local\Temp\pip-record-lgc9_ekn\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\moham\appdata\local\programs\python\python39\Include\autopy'
cwd: C:\Users\moham\AppData\Local\Temp\pip-install-9plfhi_h\autopy_f9372250d2954cabaa93abb9058afa97\
Complete output (21 lines):
running install
running build
running build_py
creating build
creating build\lib.win-amd64-3.9
creating build\lib.win-amd64-3.9\autopy
copying autopy\__init__.py -> build\lib.win-amd64-3.9\autopy
running build_ext
running build_rust
error: no override and no default toolchain set
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.
----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\moham\appdata\local\programs\python\python39\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\moham\\AppData\\Local\\Temp\\pip-install-9plfhi_h\\autopy_f9372250d2954cabaa93abb9058afa97\\setup.py'"'"'; __file__='"'"'C:\\Users\\moham\\AppData\\Local\\Temp\\pip-install-9plfhi_h\\autopy_f9372250d2954cabaa93abb9058afa97\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\moham\AppData\Local\Temp\pip-record-lgc9_ekn\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\moham\appdata\local\programs\python\python39\Include\autopy' Check the logs for full command output.
Looking at the repository for AutoPy, I've found this issue here
Have you tried to use pip install autopy3 for python 3 and above?
Furthermore, autopy uses rust cargo, you can try to clone the following repo and try to build it with Rust (cargo build) on your platform?
In windows 10, after installing Python 3.9
I tried to install Tauraus, but I get below mentioned error.
pip install --upgrade wheel setuptools Cython
pip install bzt
As a workaround, try to install packages psutil and six before installing bzt:but no avail.
pip install psutil
pip install six
pip install bzt
Error-
ERROR: Command errored out with exit status 1:
'c:\users\johndoe\appdata\local\programs\python\python39\python.exe'
-u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\Users\johndoe\AppData\Local\Temp\pip-install-1soehsaq\python-levenshtein_a1f55d8b7a0847b3a13dabfd76d36373\setup.py'"'"';
file='"'"'C:\Users\johndoe\AppData\Local\Temp\pip-install-1soehsaq\python-levenshtein_a1f55d8b7a0847b3a13dabfd76d36373\setup.py'"'"';f
= getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import
setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"',
'"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))'
install --record
'C:\Users\johndoe\AppData\Local\Temp\pip-record-f1aem1e5\install-record.txt'
--single-version-externally-managed --compile --install-headers 'c:\users\johndoe\appdata\local\programs\python\python39\Include\python-levenshtein'
Check the logs for full command output.
It worked for me when I installed Visual Studio Build tools as per this video. https://www.youtube.com/watch?v=vc2x3q4k8BY
Then I
First install
pip install cython
Then install
pip install bzt