我知道以前也曾问过类似的问题,但我要么不明白答案,要么根本没有答案。所以我决定尽可能详细地描述我的问题。
问题: RStudio网状软件包从以下路径使用Python:
"/usr/bin/python"
但是我希望它从此路径使用python-始终作为默认值:
"/Library/Frameworks/Python.framework/Versions/3.7/bin/python3"
我怎么知道它发生了? 我打开RStudio,然后创建一个新的python脚本。生成一个扩展名为.py的新文件。我输入以下内容:
import pandas as pd
并执行(通过单击cmd + enter)。然后,我看到控制台中发生了什么-网状程序包称为:
reticulate::repl_python()
Python 2.7.10 (/usr/bin/python)
Reticulate 1.12 REPL -- A Python interpreter in R.
我想永久更改网状软件包查找Python的位置。 从终端我知道:
$ python --version
Python 3.7.3
which python3
/Library/Frameworks/Python.framework/Versions/3.7/bin/python3
因此,我想告诉RStudio始终在此路径中查找Python 3.7。我尝试使用从R脚本运行的以下命令:
use_python("/Library/Frameworks/Python.framework/Versions/3.7/bin/python3")
但是它什么也没做-我天真的理解是该命令在R markdown文件中很有用,即当我有将R和Python组合成单独代码的代码时。我想更改从RStudio中运行Python脚本时使用的路径。我可以编辑某种配置文件吗?
我希望这是有道理的。我不是Python的普通用户,现在才开始学习,并且我对路径也不是很好,因此,我希望逐步给出答案。
答案 0 :(得分:0)
好,所以我发布得太早了-经过更多的谷歌搜索后,我自己可以解决此问题,但我认为值得在这里为像我这样的人(即不懂路径或不懂python的人)发布答案。 / p>
有些类似于R的配置文件,称为.Renviron。为了访问它,请使用Terminal转到您的主目录(即,键入“ cd”时转到的目录)。如果您以前从未使用过此文件,则该文件可能不存在,在这种情况下,您需要创建它。
在您的主目录中,键入:
class Card
{
protected:
double balance;
public:
string cardNumber;
// This function should be virtual
virtual void CreateCard()
{
cout << "Enter card number:";
cin >> cardNumber;
balance = 50;
}
virtual void ShowInfo()
{
cout << "Card number:" << cardNumber << endl;
cout << "Balance:" << balance << endl;
}
// Add virtual destructor to Card
virtual ~Card() = default;
};
class VirtualCard : public Card
{
public:
void CreateCard() override
{
cout << "Enter virtual card number:";
cin >> cardNumber;
balance = 50;
}
void ShowInfo() override
{
cout << "Virtual card number:" << cardNumber;
cout << "Balance on the virtual card:" << balance;
}
};
class Account
{
using Card_ptr = std::unique_ptr<Card>;
string firstname;
string lastname;
int age;
void SetCard()
{
Card *card = new Card();
card->CreateCard();
container.emplace_back(card);
}
vector<Card_ptr> container;
public:
void SetVirtualCard()
{
if (container.at(0) == nullptr)
{
cout << "ERROR" << endl;
}
else
{
VirtualCard *vCard = new VirtualCard();
vCard->CreateCard();
container.emplace_back(vCard);
}
}
Account(string firstname, string lastname, int age)
{
this->firstname = firstname;
this->lastname = lastname;
this->age = age;
SetCard();
}
void SeeInfo()
{
for (int i = 0; i < container.size(); i++)
{
container[i]->ShowInfo();
}
}
};
然后在显示的文件列表中检查是否存在.Renviron。以下是说明,如果您已经拥有.Renviron(如果是),如果没有,那么该怎么办(如果否)。
如果否,请输入:
ls -a
创建文件。
如果是,请按照以下步骤操作(不使用touch命令)。
写:
touch .Renviron
.Renviron文件将打开。在其中添加一行,内容为:
nano .Renviron
所以,就我而言,这是:
RETICULATE_PYTHON="enter your desired path here"
现在通过退出nano(ctrl + x)并在询问是否保存更改时单击“ y”来保存文件(按“ y”,然后按Enter)。
重新启动RStudio。现在应该可以工作了。我希望这是有用的!