no python installation was detected что делать
can’t uninstall Python 3.6 on windows 10
I installed python 3.6.2 recently on my windows 10 machine, but I cannot seem to uninstall it at all
The error I get is:
No python 3.6 installation was detected
0x800070643 Fatal error during installation
I haven’t tried doing any registry edits or using restore points yet though
5 Answers 5
UNHIDE ALL FOLDERS BEFORE FOLLOWING DOWN.
Now Install a new fresh version
Happy Coding! Happy Programming!!
It’s also possible to execute the python3 installer again, you get option to repair or uninstall. Just choose uninstall, it will be done properly.
I just used a restore point didn’t have to edit registry
If you got here because of this annoying message when trying to install a Python package because Python was installed by Windows (likely by Visual Studio), then you might want to keep reading.
WARNING: The script virtualenv.exe is installed in ‘C:\Users
\AppData. \Python. \Scripts’ which is not on PATH
Before you uninstall using the steps below, please read the beginning of my answer here first. know the consequences! If your other Python environments rely on this, you might have to fix a few other things, so run a few commands and get the current details. You will only be able to install packages if you have the required set up, without having a site or global Python install.
Read this before the uninstall and know what you’re getting into.
After you study a bit, you can uninstall from here. Merry Christmas!
Control Panel > Settings > Apps > Apps & features > use the Filter by menu, and select the drive containing the «WindowsApps» folder > Select the app and click the Uninstall button > Click the Uninstall button again
Pysvn installer fails to detect Python installation
I have Python 2.7.2 installed in the default location, C:\Python27. I’ve downloaded pysvn 2.7 from http://pysvn.tigris.org/project_downloads.html > Windows installation kits. Pysvn Windows installer aborts on
pysvn requires Python 2.7 to be installed.
I’ve tried both installer files, py27-pysvn-svn1612-1.7.4-1321.exe and py27-pysvn-svn1615-1.7.5-1360.exe. Neither of them works.
How can I convince the installer that I have Python 2.7 installed? How is the installer determining whether pysvn is installed or not?
4 Answers 4
Did u perhaps install the 64-bit version of Python? If yes: Try the 32-bit installer.
Background: It seems like the 64-bit installer doesn’t properly set the correct values in the windows registry (which is the place where PySVN tries to find Python).
I tried this and it worked perfectly:
Copy HKLM\SOFTWARE\Python\PythonCore\2.7\InstallPath to HKCU\SOFTWARE\Python\PythonCore\2.7\InstallPath.
Same link as above, but a different solution is offered within the thread. It is a problem with the pysvn 32-bit installer looking in the wrong (?) place in the Registry for the installed Python version.
Edit: The 32-bit module still didn’t work correctly with the 64-bit Python. The only solution for this is to use 32-bit Python with the module.
Another option is to copy the the registry keys from HKEY_LOCAL_MACHINE\SOFTWARE\Python to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python
My case was a bit different. Since my Anaconda install was for Python 3.6, no matter what I did I wasn’t able to install PySvn (never got detected).
So since PySvn last release is for Python 3.5, I’ve created a conda env for Python 3.5.
Then I ran the installed and it worked fined. After installed, I remade the changes in the system registry to the original ones.
Now I can import Pysvn, inside my conda env, without any problems.
System python installations are not detected by pyenv #1628
Comments
aspiers commented Jun 10, 2020 •
Several major Linux distributions have been providing simultaneous installs of Python 2 and 3 for quite a long time now, including Ubuntu, openSUSE, RHEL, and Mint. According to #1585, the same holds true for Mac OS 10.15.4, and probably many other Mac OS versions too. In these cases, typically:
However, typically pyenv will only support use of /usr/bin/python as the single system version, so if the symlink is missing it doesn’t find any system python [UPDATE: this bit will be fixed if #1655 is merged], and even if it’s not missing, if both 2 and 3 are present, it will only find one of them. This has led to bug reports such as #1029, #1366, #1585, and #1613, the number of which alone suggests to me that this is worth addressing. But in addition to these, there are valid use cases for [UPDATED to clarify] pyenv supporting the choice between at least two different simultaneously installed system versions:
I was able to partially replicate the error in Linux Mint 19.3. The system Python 2 install was detected but the Python 3 version was not, which for me isn’t a big deal. In my opinion, system installations of Python should be reserved for internal OS libraries and third-party packages. The user shouldn’t really care about using the system installations of Python.
I’m not trying to nullify the error by saying that «you shouldn’t be using the system installation anyway». Perhaps there are good use cases that I’m missing and don’t completely understand. If someone is willing to clarify then we can proceed with an appropriate bug fix.
This is one class of use cases, but I’m fairly sure there will be others.
[UPDATED to clarify] However in the case where there are two or more system Pythons simultaneously installed, enhancing pyenv in this way should not be done in a way which simply switches pyenv local system to mean a different version; it should offer the user the choice of which system version they want to use.
The text was updated successfully, but these errors were encountered:
Решение проблем с модулями и пакетами Python
Я с завидной регулярностью сталкиваюсь со всевозможными ошибками, так или иначе связанными с модулями Python. Существует огромное количество разнообразных модулей Python, которые разработчики активно используют, но далеко не всегда заботятся об установке зависимостей. Некоторые даже не удосуживаются их документировать. Параллельно существует две мажорные версии Python: 2 и 3. В разных дистрибутивах отдано предпочтение одной или другой версии, по этой причине самостоятельно установленную программу в зависимости от дистрибутива нужно при запуске предварять python или python2/python3. Например:
Причём обычно не происходит никаких проверок и угадали ли вы с выбором версии или нет вы узнаете только при появлении первых ошибок, вызванных неправильным синтаксисом программного кода для данной версии.
Также прибавляет путаницу то, что модули можно установить как из стандартного репозитория дистрибутивов, так и с помощью pip (инструмент для установки пакетов Python).
Цель этой заметки — рассмотреть некоторые характерные проблемы модулей Python. Все возможные ошибки вряд ли удастся охватить, но описанное здесь должно помочь понять, в каком примерно направлении двигаться.
Отсутствие модуля Python
Большинство ошибок модулей Python начинаются со строк:
В них трудно разобраться, поэтому поищите фразы вида:
За ними следует название модуля.
Поищите по указанному имени в системном репозитории, или попробуйте установить командой вида:
Пакет Python установлен, но программа его не видит
Причина может быть в том, что вы установили модуль для другой версии. Например, программа написана на Python3, а вы установили модуль с этим же названием, но написанный на Python2. В этом случае он не будет существовать для программы. Поэтому нужно правильно указывать номер версии.
Команда pip также имеет свои две версии: pip2 и pip3. Если версия не указана, то это означает, что используется какая-то из двух указанных (2 или 3) версий, которая является основной в системе. Например, сейчас в Debian и производных по умолчанию основной версией Python является вторая. Поэтому в репозитории есть два пакета: python-pip (вторая версия) и python3-pip (третья).
В Arch Linux и производных по умолчанию основной версией является третья, поэтому в репозиториях присутствует пакет python-pip (третья версия) и python2-pip (вторая).
Это же самое относится к пакетам Python и самому Python: если версия не указана, значит имеется ввиду основная для вашего дистрибутива версия. По этой причине многие пакеты в репозитории присутствуют с двумя очень похожими названиями.
Установлена новая версия модуля, но программа видит старую версию
Я несколько раз сталкивался с подобными необъяснимыми ошибками.
Иногда помогает удаление модуля командой вида:
Также попробуйте удалить его используя системный менеджер пакетов.
Если модуль вам нужен, попробуйте вновь установить его и проверьте, решило ли это проблему.
Если проблема не решена, то удалите все файлы модуля, обычно они расположены в папках вида:
Ошибки с фразой «AttributeError: ‘NoneType’ object has no attribute»
Ошибки, в которых присутствует слово AttributeError, NoneType, object has no attribute обычно вызваны не отсутствием модуля, а тем, что модуль не получил ожидаемого аргумента, либо получил неправильное число аргументов. Было бы правильнее сказать, что ошибка вызвана недостаточной проверкой данных и отсутствием перехвата исключений (то есть программа плохо написана).
В этих случаях обычно ничего не требуется дополнительно устанавливать. В моей практике частыми случаями таких ошибок является обращение программы к определённому сайту, но сайт может быть недоступен, либо API ключ больше недействителен, либо программа не получила ожидаемые данные по другим причинам. Также программа может обращаться к другой программе, но из-за ошибки в ней получит не тот результат, который ожидала, и уже это вызывает приведённые выше ошибки, которые мы видим.
Опять же, хорошо написанная программа в этом случае должна вернуть что-то вроде «информация не загружена», «работа программы N завершилась ошибкой» и так далее. Как правило, нужно разбираться с причиной самой первой проблемы или обращаться к разработчику.
Модуль установлен, но при обновлении или обращении к нему появляется ошибки
Это самая экзотическая ошибка, которая вызвана, видимо, повреждением файлов пакета. К примеру, при попытке обновления я получал ошибку:
При этом сам модуль установлен как следует из самой первой строки.
Проблема может решиться удалением всех файлов пакета (с помощью rm) и затем повторной установки.
К примеру в рассматриваемом случае, удаление:
После этого проблема с модулем исчезла.
Заключение
Пожалуй, это далеко не полный «справочник ошибок Python», но если вы можете сориентироваться, какого рода ошибка у вас возникла:
Так вот, если вы хотя бы примерно поняли главную причину, то вам будет проще понять, в каком направлении двигаться для её решения.
pipenv requires python 3.7 but installed version is 3.8 and won’t install
I know a little of Python and more than a year ago I wrote a small script, using pipenv to manage the dependencies.
The old platform was Windows 7, the current platform is Windows 10.
At that time I probably had Python 3.7 installed, now I have 3.8.3 but running:
This is the Pipfile
I manually edited that last line to allow 3.8, but how do I properly fix that?
I think 3.7 should be a minimum requirement — well, the script is so simple that I think even 3.0 should work.
6 Answers 6
Warning: Python 3.7 was not found on your system…
I would recommend you to install pyenv (so it can manage your Python versions).
The repository of pyenv is this one: https://github.com/pyenv/pyenv
With pyenv installed when a Pipfile requires a version of Python that you do not have on your machine it will ask if you want to install it with pyenv. In this way you’ll be able to work in projects with different python versions without having to worry about which version the project is using. With pyenv you can easily change between python version in your global shell as well.
Another suggestion not really realated to your question is, you should take a look on poetry to replace pipenv (it is faster because it install the dependencies in a async way), the website for poetry is this one: https://python-poetry.org/
But still, you will need something like pyenv or install another python version manually to solve your problem.
If you just wanna make the Pipfile allow you to use newer versions of python I guess you can change it like this:
I’m not really sure if the syntax is ^3.7 or >=3.7 but should be one of this two.