Conda、Git、pip设置代理教程 解决Torch not compiled with CUDA enabled问题 pip缓存坑 No module named “Crypto“

Conda设置代理

在使用Conda时,如果您需要通过代理访问网络资源,可以按照以下步骤配置代理:

  1. 打开终端并运行以下命令以设置HTTP代理:

conda config --set proxy_servers.http http://<代理服务器>:<端口号>

请将“<代理服务器>”和“<端口号>”替换为您的代理服务器和端口号。例如,如果您使用的代理服务器是“proxy.example.com”,端口号是“8080”,则命令应为:

conda config --set proxy_servers.http http://proxy.example.com:8080
  1. 运行以下命令以设置HTTPS代理:

conda config --set proxy_servers.https https://<代理服务器>:<端口号>

请使用与HTTP代理相同的格式替换“<代理服务器>”和“<端口号>”。

  1. 运行以下命令以测试代理设置是否正确:

conda info

这将显示Conda的配置信息,包括代理设置。如果代理设置正确,则应该可以看到代理服务器和端口号。

请注意,如果您的代理服务器需要身份验证,则需要在设置代理时提供用户名和密码。您可以使用以下命令设置HTTP代理:

conda config --set proxy_servers.http http://<用户名>:<密码>@<代理服务器>:<端口号>

使用相同的格式设置HTTPS代理。

如果您需要从Conda中删除代理设置,请使用以下命令:

conda config --remove-key proxy_servers.http
conda config --remove-key proxy_servers.https

这将从Conda的配置中删除HTTP和HTTPS代理设置。

例子:

conda config --set proxy_servers.http http://127.0.0.1:7890
conda config --set proxy_servers.https http://127.0.0.1:7890

Git

如果您需要通过代理访问Git仓库,可以按照以下步骤设置Git代理:

  1. 打开终端并运行以下命令以设置HTTP代理:
git config --global http.proxy http://<代理服务器>:<端口号>

请将“<代理服务器>”和“<端口号>”替换为您的代理服务器和端口号。例如,如果您使用的代理服务器是“proxy.example.com”,端口号是“8080”,则命令应为:

git config --global http.proxy http://proxy.example.com:8080
  1. 运行以下命令以设置HTTPS代理:
git config --global https.proxy https://<代理服务器>:<端口号>

请使用与HTTP代理相同的格式替换“<代理服务器>”和“<端口号>”。

  1. 如果您的代理服务器需要身份验证,则需要在设置代理时提供用户名和密码。您可以使用以下命令设置HTTP代理:
git config --global http.proxy http://<用户名>:<密码>@<代理服务器>:<端口号>

使用相同的格式设置HTTPS代理。

  1. 如果您需要从Git中删除代理设置,请使用以下命令:
git config --global --unset http.proxy
git config --global --unset https.proxy

这将从Git的配置中删除HTTP和HTTPS代理设置。

请注意,代理设置是全局设置,将对您所有的Git操作生效。

pip

如果您需要通过代理访问Python包管理器pip,可以按照以下步骤设置pip代理:

  1. 打开终端并运行以下命令以设置HTTP代理:
pip config set global.proxy http://<代理服务器>:<端口号>

请将“<代理服务器>”和“<端口号>”替换为您的代理服务器和端口号。例如,如果您使用的代理服务器是“proxy.example.com”,端口号是“8080”,则命令应为:

pip config set global.proxy http://proxy.example.com:8080
  1. 运行以下命令以设置HTTPS代理:
pip config set global.proxy https://<代理服务器>:<端口号>

请使用与HTTP代理相同的格式替换“<代理服务器>”和“<端口号>”。

  1. 如果您的代理服务器需要身份验证,则需要在设置代理时提供用户名和密码。您可以使用以下命令设置HTTP代理:
pip config set global.proxy http://<用户名>:<密码>@<代理服务器>:<端口号>

使用相同的格式设置HTTPS代理。

  1. 如果您需要从pip中删除代理设置,请使用以下命令:
pip config unset global.proxy

这将从pip的配置中删除HTTP和HTTPS代理设置。

请注意,代理设置是全局设置,将对您所有的pip操作生效。

"AssertionError: Torch not compiled with CUDA enabled" in spite upgrading to CUDA version

Try checking your CUDA version using

nvcc --version

or

nvidia-smi

Uninstalling the packages and reinstalling it with pip instead solved it for me.

1.conda remove pytorch torchvision torchaudio cudatoolkit

2.pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116

pip 缓存坑

Python 下常用的一个包管理工具就是 pip,今天我在一台服务器上部署 uWSGI 的时候遇到了这么个坑。

uWSGI 的 internal routing 依赖于 pcre,第一次用 pip 安装好后运行 uwsgi 时会出一个 !!! no internal routing support, rebuild with pcre support !!! 的警告,嘛……那我们就安装完 pcre 后重新安装下 uWSGI 好了。

但是重新安装 uWSGI 的时候发现 pip 好像是直接从缓存中拿出了上次编译后的 uwsgi 文件,并没有重新编译一份。于是翻了下 pip 的手册说可以带上 --no-cache-dir 来取消缓存,试了下,OK 了。

但是 pip 的缓存目录到底在哪里呢?

Google 了好久,有人说在 /tmp 下几个 pip 开头的文件里,但是 /tmp 里并没有关键的缓存文件,只有几个压缩包?

最后跟了下 pip 的源码,在 pip.utils.appdirs 的 user_cache_dir 中可以看见一段注释:

    r"""
    Return full path to the user-specific cache dir for this application.

        "appname" is the name of application.

    Typical user cache directories are:
        Mac OS X:   ~/Library/Caches/
        Unix:       ~/.cache/ (XDG default)
        Windows:      C:\Users\\AppData\Local\\Cache

    On Windows the only suggestion in the MSDN docs is that local settings go
    in the `CSIDL_LOCAL_APPDATA` directory. This is identical to the
    non-roaming app data dir (the default returned by `user_data_dir`). Apps
    typically put cache data somewhere *under* the given dir here. Some
    examples:
        ...\Mozilla\Firefox\Profiles\\Cache
        ...\Acme\SuperApp\Cache\1.0

    OPINION: This function appends "Cache" to the `CSIDL_LOCAL_APPDATA` value.
    """

缓存目录其实是在当前用户 home 下的 .cache 文件夹里,里面有个 pip 文件夹,删除后,重新安装 uWSGI 时就会重新编译了。

对于 virtualenv 而言,缓存也是在当前操作用户的 .cache 里。

No module named "Crypto"

pip uninstall crypto pycryptodome

pip install pycryptodome

参考资料:

python - "AssertionError: Torch not compiled with CUDA enabled" in spite upgrading to CUDA version - Stack Overflow

你可能感兴趣的:(conda,git)